<!-- Generated by scripts/gen-skill.mjs from src/criteria/registry.ts. Do not edit by hand. -->

# WCAG success criteria the platform can satisfy natively

Each entry states the requirement and who pays when it is missed. These are
the criteria most often broken by hand-built components that a native element
would have satisfied for free. Interactive versions: https://accessible-by-default.dev/standard.html

## 2.4.1 Bypass Blocks

**Level A · WCAG 2.0 · Operable**

A mechanism exists to skip blocks of content repeated across pages — the classic skip link. A WCAG 2.0 (2008) original at level A: without it, keyboard and switch users pay a tab stop for every navigation link on every single page.

- [WCAG: Understanding 2.4.1](https://www.w3.org/WAI/WCAG22/Understanding/bypass-blocks.html)

## 2.5.8 Target Size (Minimum)

**Level AA · WCAG 2.2 · Operable**

Pointer targets are at least 24×24 CSS pixels, unless spacing or an equivalent alternative makes them easy to activate. Added in WCAG 2.2 (2023) — small targets hurt people with motor impairments and anyone on a moving bus.

- [WCAG: Understanding 2.5.8](https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html)

## 1.4.10 Reflow

**Level AA · WCAG 2.1 · Perceivable**

Content reflows into a single column at 320 CSS pixels (≈400% zoom on a 1280px screen) with no loss of information and no two-dimensional scrolling. Added in WCAG 2.1 (2018) — for low-vision users who magnify heavily.

- [WCAG: Understanding 1.4.10](https://www.w3.org/WAI/WCAG22/Understanding/reflow.html)

## 1.4.11 Non-text Contrast

**Level AA · WCAG 2.1 · Perceivable**

The visual boundaries and states of UI components (and meaningful graphics) need at least 3:1 contrast against adjacent colors. Added in WCAG 2.1 (2018) — so controls stay perceivable for low-vision users and in glare or poor lighting.

- [WCAG: Understanding 1.4.11](https://www.w3.org/WAI/WCAG22/Understanding/non-text-contrast.html)

## 2.4.11 Focus Not Obscured (Minimum)

**Level AA · WCAG 2.2 · Operable**

When an element receives keyboard focus, it is not entirely hidden by author-created content such as a sticky header. Added in WCAG 2.2 (2023): sticky bars routinely swallow the focused control and strand keyboard users. An element that is only partly covered passes; keeping every part of it clear is 2.4.12 Focus Not Obscured (Enhanced), level AAA.

- [WCAG: Understanding 2.4.11](https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html)
- [WCAG: Understanding 2.4.12](https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-enhanced.html)
- [WCAG: Failure F110](https://www.w3.org/WAI/WCAG22/Techniques/failures/F110)

## 2.4.13 Focus Appearance

**Level AAA · WCAG 2.2 · Operable**

The keyboard focus indicator is large enough and contrasts enough to be easily seen. Added in WCAG 2.2 (2023) at level AAA — a focus ring that technically exists but is faint still fails real keyboard users.

- [WCAG: Understanding 2.4.13](https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance.html)

## 2.3.3 Animation from Interactions

**Level AAA · WCAG 2.1 · Operable**

Motion animation triggered by interaction can be turned off, unless the motion is essential. Added in WCAG 2.1 (2018) at level AAA — large transitions trigger nausea and vertigo for people with vestibular disorders.

- [WCAG: Understanding 2.3.3](https://www.w3.org/WAI/WCAG22/Understanding/animation-from-interactions.html)

## 1.3.4 Orientation

**Level AA · WCAG 2.1 · Perceivable**

Content does not lock to one display orientation, portrait or landscape, unless a specific orientation is essential: a piano keyboard, a bank cheque, slides for a projector. Added in WCAG 2.1 (2018). A device mounted in a fixed orientation, on a wheelchair for example, cannot be rotated.

- [WCAG: Understanding 1.3.4](https://www.w3.org/WAI/WCAG22/Understanding/orientation.html)
- [WCAG: Failure F97](https://www.w3.org/WAI/WCAG22/Techniques/failures/F97)
- [WCAG: Failure F100](https://www.w3.org/WAI/WCAG22/Techniques/failures/F100)

## 1.3.5 Identify Input Purpose

**Level AA · WCAG 2.1 · Perceivable**

Fields that collect information about the user — name, email, address — expose their purpose programmatically, in practice through autocomplete tokens. Added in WCAG 2.1 (2018): it turns autofill from a guess into a guarantee, for people for whom every keystroke is expensive and every transcription is a chance to get it wrong.

- [WCAG: Understanding 1.3.5](https://www.w3.org/WAI/WCAG22/Understanding/identify-input-purpose.html)
- [MDN: autocomplete](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete)

## 3.3.7 Redundant Entry

**Level A · WCAG 2.2 · Understandable**

Information the user already entered in the same process is auto-populated or available to select — not asked for again, unless re-entering is essential (like a password) or the data has expired. Added in WCAG 2.2 (2023) — re-typing taxes memory and motor effort, and for people with cognitive or motor disabilities it can end the task.

- [WCAG: Understanding 3.3.7](https://www.w3.org/WAI/WCAG22/Understanding/redundant-entry.html)

## 3.2.6 Consistent Help

**Level A · WCAG 2.2 · Understandable**

If a page offers help — a contact detail, a support link, a chat, a glossary — it appears in the same relative order on every page that has it, unless the user moves it themselves. Added in WCAG 2.2 (2023). Help that relocates has to be re-found on each page, and the people most likely to need it are the ones least able to hunt.

- [WCAG: Understanding 3.2.6](https://www.w3.org/WAI/WCAG22/Understanding/consistent-help.html)
