A11YSmith ships with accessibility rules for five platforms. Each rule maps
to one or more WCAG 2.2 success criteria and produces findings with a severity level.
Web Rules (10 rules)
Web accessibility rules
Rule ID
Title
WCAG
web-images-alt-text
Images and Alternative Text
1.1.1
web-name-role-value
Name, Role, Value for Custom Controls
4.1.2
web-buttons-vs-links
Buttons vs. Links Semantics
4.1.2
web-headings-landmarks
Headings and Landmark Structure
1.3.1, 2.4.1, 2.4.6
web-form-labels
Form Labels and Error Messaging
1.3.1, 3.3.2, 4.1.2
web-focus-indicators
Focus Path and Focus Indicators
2.4.3, 2.4.7, 2.4.11
web-tables
Data Table Structure
1.3.1
web-live-regions
Dynamic Announcements and Live Regions
4.1.3
web-modals-focus-trap
Modals and Dialogs Focus Management
4.1.2
web-target-size
Touch and Click Target Size
2.5.5, 2.5.8
Android Rules (10 rules)
Android accessibility rules
Rule ID
Description
WCAG
android-missing-content-description
Interactive views must have a contentDescription
1.1.1
android-touch-target-size
Touch targets must be at least 48x48dp
2.5.8
android-color-contrast
Text must meet minimum contrast ratios
1.4.3
android-missing-heading
Headings must use proper semantics
1.3.1
android-missing-traversal-order
Focus traversal order must be logical
2.4.3
android-live-region
Dynamic content must use live regions
4.1.3
android-state-description
Stateful views must expose state via stateDescription
4.1.2
android-clickable-no-role
Clickable elements must have an accessibility role
4.1.2
android-hardcoded-text-size
Text sizes must use scalable units (sp)
1.4.4
android-missing-compose-semantics
Compose elements must have semantics
4.1.2
iOS Rules (13 rules)
iOS accessibility rules
Rule ID
Description
WCAG
ios-missing-accessibility-label
Interactive elements must have an accessibilityLabel
1.1.1
ios-small-touch-target
Touch targets must be at least 44x44pt
2.5.8
ios-missing-heading-trait
Headings must use the header accessibility trait
1.3.1
ios-missing-hint
Custom actions should provide an accessibilityHint
4.1.2
ios-missing-toggle-label
Toggle controls must have accessible labels
4.1.2
ios-missing-announcement
Dynamic content must post accessibility notifications