
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@sucoza/accessibility-devtools-plugin
Advanced tools
DevTools plugin for real-time accessibility auditing and WCAG compliance testing
A comprehensive accessibility auditing plugin for TanStack DevTools that provides real-time WCAG compliance testing, color contrast analysis, keyboard navigation visualization, ARIA validation, and more.
npm install @sucoza/accessibility-devtools-plugin
import React from 'react';
import { AccessibilityDevToolsPanel } from '@sucoza/accessibility-devtools-plugin';
function App() {
return (
<div>
{/* Your app content */}
{/* Accessibility DevTools Panel */}
<AccessibilityDevToolsPanel />
</div>
);
}
import React, { useEffect } from 'react';
import {
AccessibilityDevToolsPanel,
createAccessibilityDevToolsEventClient
} from '@sucoza/accessibility-devtools-plugin';
function App() {
useEffect(() => {
// Initialize the accessibility event client
const client = createAccessibilityDevToolsEventClient();
// Optional: Listen for accessibility events
const unsubscribe = client.subscribe((event, type) => {
if (type === 'accessibility:issue-found') {
console.log('New accessibility issue:', event);
}
});
return unsubscribe;
}, []);
return (
<div>
<AccessibilityDevToolsPanel />
</div>
);
}
import React from 'react';
import { useAccessibilityAudit } from '@sucoza/accessibility-devtools-plugin';
function MyComponent() {
const {
currentAudit,
scanState,
startScan,
getIssueStats
} = useAccessibilityAudit();
const stats = getIssueStats();
return (
<div>
<button onClick={() => startScan()}>
Start Accessibility Scan
</button>
{currentAudit && (
<div>
<p>Issues found: {stats.total}</p>
<p>Critical: {stats.critical}</p>
<p>Serious: {stats.serious}</p>
</div>
)}
</div>
);
}
import { useAccessibilityAudit } from '@sucoza/accessibility-devtools-plugin';
function MyComponent() {
const { updateScanOptions } = useAccessibilityAudit();
// Configure scanning behavior
updateScanOptions({
continuous: true,
debounceMs: 1000,
includeColorContrast: true,
includeKeyboardNav: true,
includeARIA: true,
includeFocus: true,
config: {
wcagLevel: 'AA',
includeExperimental: false,
}
});
}
import { useAccessibilityAudit } from '@sucoza/accessibility-devtools-plugin';
function MyComponent() {
const { updateSettings } = useAccessibilityAudit();
// Configure plugin settings
updateSettings({
autoScan: true,
scanDelay: 1000,
maxHistoryEntries: 50,
enableOverlay: true,
enableSounds: false,
enableNotifications: true,
wcagLevel: 'AA',
includeExperimental: false,
});
}
The main panel component that provides the complete accessibility auditing interface.
You can also use individual components for specific functionality:
IssueList - Display accessibility violationsColorContrastAnalyzer - Color contrast analysis toolKeyboardNavVisualizer - Keyboard navigation testingARIAValidator - ARIA attribute validationLandmarkMapper - Page structure analysisFocusDebugger - Focus management debugginginterface AccessibilityIssue {
id: string;
rule: string;
impact: SeverityLevel;
description: string;
help: string;
helpUrl: string;
tags: string[];
nodes: AccessibilityNode[];
type: ViolationType;
timestamp: number;
}
interface AccessibilityAuditResult {
url: string;
timestamp: number;
violations: AccessibilityIssue[];
incomplete: AccessibilityIssue[];
passes: AccessibilityIssue[];
inapplicable: AccessibilityIssue[];
testEngine: {
name: string;
version: string;
};
// ... more properties
}
interface AccessibilityDevToolsEvents {
'accessibility:state': AccessibilityDevToolsState;
'accessibility:action': AccessibilityDevToolsAction;
'accessibility:audit-started': { timestamp: number; elementSelector?: string };
'accessibility:audit-complete': { audit: AccessibilityAuditResult; metrics: ScanPerformanceMetrics };
'accessibility:issue-found': { issue: AccessibilityIssue; isNew: boolean };
'accessibility:overlay-toggle': { enabled: boolean; state: OverlayState };
'accessibility:element-highlight': { selector: string | null };
}
Check out the example/ directory for a complete demonstration of the plugin with various accessibility issues to test against.
To run the example:
cd example
npm install
npm run dev
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)MIT
Part of the @sucoza TanStack DevTools ecosystem.
FAQs
DevTools plugin for real-time accessibility auditing and WCAG compliance testing
The npm package @sucoza/accessibility-devtools-plugin receives a total of 24 weekly downloads. As such, @sucoza/accessibility-devtools-plugin popularity was classified as not popular.
We found that @sucoza/accessibility-devtools-plugin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.