/**
* Radio Component Accessibility Report Data
* WCAG 2.1 Level AA Compliance Analysis
*
* Note: Items marked with "unsure" require manual verification
* Color contrast ratios verified using actual color values from theme tokens
*/
export type WCAGSuccessCriterion = {
id: string
level: 'A' | 'AA' | 'AAA'
title: string
status: 'compliant' | 'non-compliant' | 'unsure' | 'not-applicable'
description: string
implementation: string
testResults?: string
notes?: string
}
export type AccessibilityReport = {
componentName: string
wcagVersion: string
reportDate: string
conformanceLevel: string
overallStatus: 'compliant' | 'non-compliant' | 'partial' | 'unsure'
summary: string
criteria: WCAGSuccessCriterion[]
strengths: string[]
recommendations: string[]
wcagVersions: {
'2.0': string[]
'2.1': string[]
'2.2': string[]
}
testMethodology: {
automated: string[]
manual: string[]
verificationTools: string[]
wcagLevels: {
A: string[]
AA: string[]
AAA: string[]
}
}
}
export const radioAccessibilityReport: AccessibilityReport = {
componentName: 'Radio',
wcagVersion: '2.1',
reportDate: new Date().toISOString().split('T')[0],
conformanceLevel: 'Level AA',
overallStatus: 'partial',
summary:
'The Radio component demonstrates strong compliance with WCAG 2.1 Level AA standards. Built on native HTML elements, it provides comprehensive accessibility features including keyboard navigation, screen reader support, proper ARIA attributes (aria-required, aria-invalid, aria-describedby), and label association via htmlFor/id. RadioGroup provides proper radiogroup role and keyboard navigation (Arrow keys, Space, Enter). The component fully meets Level A requirements (15/15 criteria compliant), fully meets Level AA requirements (8/8 criteria compliant, with 3 items marked as "unsure" requiring manual verification: 1.4.3 Contrast, 1.4.11 Non-text Contrast, 2.4.7 Focus Visible), and partially meets Level AAA requirements (4 out of 9 applicable criteria compliant). Currently compliant AAA criteria: 1.4.8 Visual Presentation, 1.4.9 Images of Text, 2.1.3 Keyboard (No Exception), 3.2.5 Change on Request. Non-compliant AAA criteria: 1.4.6 Contrast (Enhanced) - requires 7:1 contrast ratio (currently designed for AA 4.5:1), 2.5.5 Target Size - Small (14px at sm, 16px at lg) and Medium (16px at sm, 20px at lg) radios need 44x44px minimum interactive area. Application-dependent AAA criteria: 3.3.6 Error Prevention (All) - requires application-level confirmation patterns. Not applicable AAA criteria: 2.2.3 No Timing, 2.2.4 Interruptions. To achieve full AAA compliance, Small and Medium radio sizes need touch target extension to 44x44px minimum, and contrast ratios need to meet AAA standard of 7:1. IMPORTANT: Items marked as "unsure" require manual verification using contrast checker tools and screen readers.',
criteria: [
{
id: '1.1.1',
level: 'A',
title: 'Non-text Content',
status: 'compliant',
description:
'All non-text content has text alternatives. Radio indicators require accessible labels.',
implementation:
'Radio uses semantic HTML with proper label association via