WCAG success criteria
Every criterion below includes a plain-English explanation, a realistic failing code example, a fix, and an honest note on whether Openwell can catch it automatically or whether it needs the judgement pass or a human.
- 1.1.1 · Level A · WCAG 2.0Non-text ContentEvery image, icon, or non-text element that conveys information has a text alternative that serves the same purpose — and every purely decorative image is hidden from assistive technology.
- 1.3.1 · Level A · WCAG 2.0Info and RelationshipsStructure and relationships conveyed visually — headings, lists, table headers, form groupings — are also conveyed in the underlying markup, not just with CSS.
- 1.4.3 · Level AA · WCAG 2.0Contrast (Minimum)Text has a contrast ratio of at least 4.5:1 against its background (3:1 for large text, 18pt+ or 14pt+ bold).
- 1.4.4 · Level AA · WCAG 2.0Resize TextText can be resized up to 200% via the browser's own zoom without loss of content or function, and without requiring horizontal scrolling to read a line.
- 1.4.10 · Level AA · WCAG 2.1ReflowContent reflows to a single column at a 320px-equivalent viewport width without requiring two-dimensional scrolling, except for content that is genuinely tabular (e.g. a data table or map).
- 1.4.11 · Level AA · WCAG 2.1Non-text ContrastUI components (button borders, form field outlines, focus indicators) and meaningful graphics have at least 3:1 contrast against adjacent colors.
- 2.1.1 · Level A · WCAG 2.0KeyboardEvery interactive control — links, buttons, menus, custom widgets — is operable using only a keyboard.
- 2.1.2 · Level A · WCAG 2.0No Keyboard TrapIf keyboard focus can move into a component, it can always move back out again using only the keyboard — no dead ends.
- 2.4.1 · Level A · WCAG 2.0Bypass BlocksA mechanism exists to skip repeated blocks of content — most commonly a 'skip to main content' link before the navigation.
- 2.4.2 · Level A · WCAG 2.0Page TitledEvery page has a <title> that describes its topic or purpose.
- 2.4.3 · Level A · WCAG 2.0Focus OrderKeyboard focus moves through content in an order that preserves meaning and operability, not an arbitrary DOM or tabindex order.
- 2.4.4 · Level A · WCAG 2.0Link Purpose (In Context)A link's purpose can be determined from its text alone or its text plus its surrounding context.
- 2.4.6 · Level AA · WCAG 2.0Headings and LabelsHeadings and form labels describe the topic or purpose of the content or control they introduce.
- 2.4.7 · Level AA · WCAG 2.0Focus VisibleWhenever a UI component receives keyboard focus, there is a visible indicator showing where it is.
- 2.4.11 · Level AA · WCAG 2.2Focus Not Obscured (Minimum)When an element receives keyboard focus, it is not entirely hidden by other content, such as a sticky header or cookie banner.
- 2.5.3 · Level A · WCAG 2.1Label in NameFor controls with visible text labels, the accessible name includes that visible text — they must not diverge.
- 3.1.1 · Level A · WCAG 2.0Language of PageThe default human language of a page is set programmatically via the html element's lang attribute.
- 3.3.1 · Level A · WCAG 2.0Error IdentificationWhen a form submission produces an input error, the error is identified in text and the specific field it relates to is described.
- 3.3.2 · Level A · WCAG 2.0Labels or InstructionsEvery form control has a label or instructions describing what input is expected.
- 4.1.2 · Level A · WCAG 2.0Name, Role, ValueEvery UI component has a programmatically determinable name, role, and (where applicable) state/value, and changes to those are exposed to assistive technology.