Digital Accessibility: Web, Software, and Mobile
The four principles
The POUR model - Perceivable, Operable, Understandable, Robust - organizes WCAG's success criteria into Levels A, AA, AAA. AA is the practical target; AAA is rarely achievable across a whole product and is generally not required.
Criteria worth memorizing
- 1.1.1 Non-text Content (A): meaningful images need alt text; decorative images need a null alternative or to be marked as artifacts.
- 1.2.2 Captions (Prerecorded) - Level A; 1.2.5 Audio Description - Level AA.
- 1.3.1 Info and Relationships: use real headings, lists, and table headers.
- 1.4.3 Contrast (Minimum): 4.5:1 normal text, 3:1 large text (18 pt, or 14 pt bold). 1.4.11 non-text contrast: 3:1.
- 1.4.10 Reflow at 320 CSS px; 1.4.12 Text Spacing.
- 2.1.1 Keyboard; 2.4.7 Focus Visible; 2.2.2 Pause, Stop, Hide.
- 2.5.8 Target Size (Minimum): 24×24 CSS px (WCAG 2.2, AA); 2.5.5 is 44×44 (AAA).
- 4.1.2 Name, Role, Value.
WCAG 2.2 added criteria such as Focus Not Obscured, Dragging Movements, and Accessible Authentication - the last forbids cognitive-function tests like puzzle CAPTCHAs without an alternative.
ARIA discipline
The first rule of ARIA: prefer native HTML. No ARIA is better than bad ARIA - a misused role silently breaks the accessibility tree. Also: accessibility overlays do not make a site conformant, and automated scanners flag only a minority of issues.
Traps: assuming a visible label gives an accessible name (a placeholder does not); thinking tabindex="0" makes a div a button; treating mobile as separate from WCAG (it is not).
Worked example
A custom dropdown fails keyboard use. The fix is not to bolt on ARIA, but to use a native <select> or button + listbox with correct roles, focus management, and Escape/arrow-key behavior.