Accessibility and Inclusive Design Guidelines
Let users obtain information, complete operations, understand consequences, express decisions, and continue after an error or interruption. Accessibility is the quality of a complete task, not an add-on toolbar or a checklist score.
9 principles · 55 rules · MUST 0 · SHOULD 0
Contents
Let users obtain information, complete operations, understand consequences, express decisions, and continue after an error or interruption. Accessibility is the quality of a complete task, not an add-on toolbar or a checklist score.
These guidelines apply to Web, native applications, and devices with a digital interaction interface, covering content, controls, flows, assistive technology, personal settings, and service pathways. Permanent, temporary, and situational impairments are all within design scope; users are not required to first declare age, health condition, or disability status.
The full text is organized into 55 rules across nine categories of design object. Each answers three questions: what design must decide, what implementation must guarantee, and how the user knows it has taken effect. The companion Design Token expresses reusable parameters, and Reference Sources states the basis and evidence boundaries.
Web adopts WCAG 2.2's A and AA requirements as the baseline target; Appendix A selects criteria that are easily misused and cannot substitute for a full standards assessment. Native applications and devices implement item by item per the target platform's accessibility mechanisms, and CSS px is not treated directly as dp or pt. This document's requirements for complete tasks, inclusiveness, and assistance are product design requirements; they do not constitute a determination of legal conformance, medical diagnosis, or legal-representative qualification.
1. Principles and rule index
| Principle | Design object | Direction | Rules |
|---|---|---|---|
| AC1 Information is perceivable | Information and equivalent expression | Let information remain complete, timely, and distinguishable across different sensory conditions. | AC1-1 through AC1-6 |
| AC2 Operations are completable | Input actions and focus | Give every task a discoverable, exitable, complete path that does not depend on fine motor control. | AC2-1 through AC2-8 |
| AC3 Semantics are understandable | Name, role, structure, and state | Give assistive technology accurate semantics, and notify changes at the pace of the task. | AC3-1 through AC3-7 |
| AC4 Comprehension and recovery are sustainable | Time, memory, authentication, error, and exit | Let users understand and decide at their own pace, and come back from interruption or error. | AC4-1 through AC4-9 |
| AC5 Preference and capability are respected | Settings, display adaptation, and equitable access | Let users adjust by effect of choice, while retaining full task capability. | AC5-1 through AC5-6 |
| AC6 Usability has evidence | Acceptance scope, method, and claims | Support conclusions jointly with rule checks, assistive-technology operation, and real user tasks. | AC6-1 through AC6-5 |
| AC7 A service path stays reachable | Help, channels, and operating guidance | Keep a reachable, hand-off-able, verifiable service path available when a user is stuck. | AC7-1 through AC7-3 |
| AC8 Assistance does not replace the person | Assistance identity, authority, and ownership of the decision | Make help visible and revocable, and let the person decide through an accessible means. | AC8-1 through AC8-5 |
| AC9 Commitments are obtained clearly | Conversion, authorization, charges, and authenticity checks | Do not trade a user's cognitive or operational impairment for a commitment they did not intend to make. | AC9-1 through AC9-6 |
2. Use and judgment
MUST / MUST NOT are the baseline once the applicable condition holds; SHOULD is a recommended requirement, and deviation MUST have the reason, alternative measure, and verification recorded; MAY indicates an optional implementation. Examples do not restrict the component or architecture used. Standard thresholds, platform recommendations, and these guidelines' product requirements are each labeled separately and must not impersonate one another.
Select the complete task first, then judge applicability clause by clause. Any inapplicability or standard exception MUST have the object, condition, basis, affected users, and effective alternative recorded; "no relevant users," "a third party built it," and "the tool reported no error" do not constitute an exemption. Turning off a capability through configuration can only lift that capability's conditional obligation — it cannot cancel base reachability.
Acceptance items use pass/fail/unverified/not-applicable + reason. Judgment is based on actual behavior and scope evidence; missing material must not be filled in as pass, and a known blocker cannot be offset by another item's score. User research supports a usability judgment for a specific task and use context; it does not extrapolate that everyone can use it.
Look up rules by task
| Current problem | Check first |
|---|---|
| State, charts, or media are hard to understand | All of AC1, AC3-3 through AC3-6 |
| Keyboard, touch, or voice control cannot complete the path | All of AC2, AC3-1 and AC3-2 |
| Sign-in, forms, timeouts, or errors get stuck | All of AC4, all of AC7 |
| Large text, reduced motion, or forced colors fail | AC1-5, AC2-2, all of AC5 |
| A third-party component or auto-fix introduces a barrier | AC3-7, all of AC6 |
| Assistance, authorization, or payment by another person | All of AC8 and AC9 |
3. Rules in detail
AC1 Information is perceivable
Let information remain complete, timely, and distinguishable across different sensory conditions.
AC1-1Information does not depend on a single perceptual attribute
Applies tostate, result, alert, classification, and operating instructions.
Requirement: Information conveyed only through color, position, orientation, or sound MUST be supplemented with text, shape, or structure; visual content MUST have semantics that assistive technology can convert. Equivalence is judged by meaning and task outcome, not by the number of cue forms. Pure decoration carries no information obligation.
Design applicationAn error gives the field name, cause, and marker together; it states "choose Submit," not just "press the green button on the right."
Verification
- User side: with sound off and color differences removed, the result and next step can still be recognized.
- Implementation side: check the meaning, carrier, semantics, and alternative entry for every item in the state list; there must not be only another color.
CounterexamplesUnder-delivery: a red/green light is the sole success indicator; over-delivery: every success simultaneously vibrates, rings, and flashes the screen.
AC1-2Alternative text conveys purpose and content
Applies toimages, icons, charts, canvases, and text in images.
Requirement: A text equivalent MUST be provided per purpose; decorative images are excluded from assistive-technology reading, and functional images state the action. A complex chart provides a summary and traversable data or structure, preserving units, trends, anomalies, and uncertainty. When text can be expressed as real text, it is not replaced with an image; an automatically generated critical description MUST be verified.
Design applicationA trend chart provides its main conclusion and a data table; a button name states "download the bill," not "down arrow."
Verification
- User side: the same decision can be made without seeing the image, and the data supporting the conclusion can be found.
- Implementation side: check that the alternative content is consistent with the chart's source data, filter conditions, language, and update state.
CounterexamplesUnder-delivery: a chart's description is just "image"; over-delivery: adding a read-aloud description to every decorative line.
AC1-3Media provides equivalent content by information type
Applies toprerecorded, live, audio-only, video-only content, and players.
Requirement: Captions, transcripts, and audio description MUST be distinguished. When Web adopts the AA target, prerecorded video with audio provides synchronized captions, live synchronized media provides real-time captions, and important visual information not stated in the audio track of prerecorded video is given audio description; audio-only and video-only content each provide an alternative for their own information. A transcript must not universally substitute for captions or the audio description required for AA. Record the specific exceptions the standard allows; "captions to be added later" is not treated as a pass.
Design applicationCaptions include the speaker and meaningful non-speech sound; the player's pause, captions, volume, and seeking can be operated by keyboard and assistive technology.
Verification
- User side: follow along muted; understand the operating steps without seeing the picture; for live content, know whether captions are delayed or failed.
- Implementation side: check synchronization, occlusion, proper names, numbers, and audio-description coverage section by section; record media-asset and player testing separately.
CounterexamplesUnder-delivery: the narration says "as shown" with no description; over-delivery: producing lengthy captions for a decorative animation that carries no information.
AC1-4The meaning of an alert is obtainable and reviewable
Applies tosound, vibration, light, screen notifications, and screenless products.
Requirement: The meaning, urgency, follow-up action, and use context covered by each path of an alert MUST be defined. At least one path not dependent on vision and one not dependent on hearing MUST be supported; when coverage of multiple sensory impairments is declared, tactile, braille, or another feasible path MUST additionally be verified. Alert encodings MUST be queryable; sensing a vibration must not be taken as understanding the message.
Design applicationThe device retains an accessible event record alongside the alert; when away from the device, a vibration is not recorded as delivered.
Verification
- User side: test the combinations of muted, invisible, not-held, and any declared coverage separately, confirming the meaning and a handling entry can be found.
- Implementation side: check that the three states — transmitted, presented, and read-confirmed — are not conflated; once a user turns off a channel, follow that choice.
CounterexamplesUnder-delivery: two short pulses and one long pulse mean a fault, with no query entry; over-delivery: forcibly enabling every channel with no way to turn them off.
AC1-5Text and controls are distinguishable
Applies totext, graphics, control boundaries, and each interaction state.
Requirement: The applicable contrast baselines in Appendix A MUST be met; tested against the actual foreground-background combination and the composited result of transparency, covering light, dark, selected, hover, error, and focused states. Placeholder text is prohibited as the sole label. Exempted elements MUST be documented item by item; a usable control with low contrast must not be marked disabled to evade detection.
Design applicationColors are defined in pairs by usage; an error includes text; text over a background image has a stable backing color.
Verification
- User side: a low-vision user can identify necessary information; selection and focus remain distinguishable under forced-colors mode.
- Implementation side: compute the contrast of the actually rendered combination and check the boundary; an isolated color value in the palette alone must not be verified.
CounterexamplesUnder-delivery: the input placeholder is too light to read; over-delivery: bolding every decorative divider until it seizes attention.
AC1-6Equivalent content stays synchronized with the facts
Applies tosummaries, charts, captions, translations, exported files, and alternative paths.
Requirement: When the primary content changes, every equivalent expression carrying the same task fact MUST be updated in sync. Content that failed to generate or has not been verified MUST be marked unavailable or pending verification, with an effective alternative provided; stale content must not be treated as the current equivalent information. Third-party components and exported documents MUST be included in the task scope.
Design applicationFiltering a chart updates the data table in sync; a report download preserves headings, table relationships, and reading order.
Verification
- User side: after switching a filter, the same result is read from both visual and non-visual paths.
- Implementation side: check against the source object, generation state, and publication; record the blocker and workaround when synchronization is not possible.
CounterexamplesUnder-delivery: the chart has updated while the description still references old data; over-delivery: re-announcing every meaningless layout change.
AC2 Operations are completable
Give every task a discoverable, exitable, complete path that does not depend on fine motor control.
AC2-1A task has a complete keyboard and alternative-input path
Applies totasks with an operable interface, including sign-in, settings, submission, undo, and exit.
Requirement: A Web function MUST be operable through a keyboard interface and MUST NOT require a specific key timing; a native product MUST support the declared platform's assistive input. The path MUST cover the entire process — "the home page works" must not be taken to imply third-party payment also works. An exception is recorded only for the part whose function is essentially dependent on a movement path; companion settings and submission MUST still be reachable.
Design applicationFirst draw a complete task path without using the mouse, then check switch control and voice control.
Verification
- User side: complete the task and exit using only the target input method, with no step that requires finding someone to click on the user's behalf.
- Implementation side: check event bindings, disabled states, and third-party embeds; verify it is not merely adding a focusable attribute to an element.
CounterexamplesUnder-delivery: the form can be filled in but the CAPTCHA can only be dragged; over-delivery: putting every static paragraph into the Tab sequence.
AC2-2Focus is visible and not obscured
Applies tokeyboard input focus, the active item of a composite control, floating bars, and the on-screen keyboard.
Requirement: Input focus and a container's active item MUST be managed separately, without forcibly syncing the assistive-technology reading position. Keyboard focus MUST have a clear visual indicator and be programmatically determinable. Web AA MUST NOT at minimum be entirely obscured by author-created content; these guidelines further require that necessary operation targets be fully visible, actively accommodated when an overlay, on-screen keyboard, or fixed bar appears. The AAA threshold for focus appearance must not impersonate the AA condition.
Design applicationAdjust the scroll position when an input field receives focus; mark focus with an outline or shape in addition to color.
Verification
- User side: navigate item by item after zooming in, always knowing the current position and the action that will trigger.
- Implementation side: check the focus rectangle against obscuring regions; test high-contrast color schemes, nested scrolling, and screen edges.
CounterexamplesUnder-delivery: focus sits behind a fixed footer; over-delivery: forcibly scrolling continuously to follow the reading position.
AC2-3Order and structure are consistent
Applies tomulti-column layouts, menus, toolbars, forms, and composite controls.
Requirement: Focus order MUST preserve meaning and the order of operation; visual rearrangement must not break comprehension. An ordinary page uses natural order; a composite control uses arrow keys and active-item management per its role; structure must not be patched with a batch of positive tabindex values. Static content is reached through reading navigation, and a necessary heading target may be programmatically focused.
Design applicationA toolbar provides one Tab entry per mode plus arrow keys within the group; heading order reflects the hierarchy.
Verification
- User side: the next focus can be predicted and repeated navigation is skipped, with no need for dozens of Tab presses to reach the body content.
- Implementation side: check the DOM/semantic tree, visual order, and keyboard sequence against each other; cover narrow screens and changes in language direction.
CounterexamplesUnder-delivery: the visually first item is the last to receive focus; over-delivery: breaking a menu's arrow-key operation to unify Tab behavior.
AC2-4A modal is exitable and focus is not seized
Applies todialogs, drawers, editors, media, and embedded content.
Requirement: Focus MUST NOT be seized by an advertisement, background refresh, or ordinary notification. When a genuine modal opens, place focus in a suitable position, restrict background interaction and assistive-technology access, and provide an operable way to exit; after closing, return to the triggering control or a reasonable substitute position. A non-modal overlay must not hide the whole page's semantics merely because it is visually covering it.
Design applicationA dialog can be closed with a close button and, where applicable, Escape; a long explanation may focus its heading first.
Verification
- User side: enter from the original location, operate, cancel, and return to the original task; the same input method can both enter and exit.
- Implementation side: check the modal layer stack, background-inert behavior, embed boundaries, and post-close focus; a mask drawn visually alone is not sufficient.
CounterexamplesUnder-delivery: focus enters a third-party editor and cannot get out; over-delivery: an ordinary tooltip also locks the whole page.
AC2-5Content changes leave a reasonable landing point
Applies todeletion, pagination, step transitions, partial loading, and dynamic lists.
Requirement: When a user action causes a structural change, the next focus MUST be defined; after deleting the current item, land on the adjacent item or the list container, a step transition lands on the new step, and when the trigger disappears choose a meaningful substitute point. Expanding inline content usually keeps the trigger point and does not always jump in. A background change preserves the current position, and a necessary result is notified through a status message.
Design applicationAfter deleting the last item, focus the newly added entry in the empty state; after pagination, land at the start of the list.
Verification
- User side: after the operation, know what happened and be able to continue, without being returned to an unrelated page top.
- Implementation side: verify focus, the active item, and announcement de-duplication after node unmounting, per change event.
CounterexamplesUnder-delivery: focus is dropped onto the body after a deletion; over-delivery: moving focus to the success message on every auto-save.
AC2-6A complex action has a simple alternative
Applies todragging, multi-touch, path gestures, long-press, and device motion.
Requirement: Dragging MUST provide both a keyboard path and a single-pointer no-dragging path; the two must not substitute for each other. A multi-touch or path gesture provides a simple single-pointer operation, motion-actuated input can be turned off with a control alternative, and an exception essential to the function or to the assistive technology's own operation is recorded separately. The alternative may be several simple taps; not every task is required to be compressed into one step.
Design applicationReordering provides "move up/move down" or choosing a target position; a map provides zoom buttons.
Verification
- User side: complete the same operation separately by keyboard and by single-pointer tap, with the alternative entry discoverable.
- Implementation side: test that the result is consistent after gestures are turned off; timing-determination parameters follow platform settings or have a non-time-limited alternative. The keyboard path and the single-pointer non-drag path each form their own evidence and do not substitute for each other; automated scanning can find only some marking errors and cannot substitute for focus comprehension, screen-reading order, and assistive-operation testing across a complete task; retain a scope statement for uncovered devices and assistive technologies, and do not extrapolate full accessibility from one combination.
CounterexamplesUnder-delivery: only dragging and a keyboard shortcut exist, with no click alternative; over-delivery: removing every convenient gesture in the name of being gesture-free.
AC2-7A target is hittable and a mis-tap is cancelable
Applies tobuttons, icons, links, sliders, and touch interaction.
Requirement: The actual hit area MUST meet the platform baseline in Appendix A and must not overlap another. A single-pointer operation completes on release by preference, with movement-out cancellation allowed after press-down; a necessary action triggered on press-down MUST provide cancellation or undo with the reason recorded. Enlarging a hit area must not cover an adjacent control.
Design applicationA small icon keeps its visual size but has an enlarged hit area; a delete operation executes on release and can be undone.
Verification
- User side: a target can still be selected with unsteady hands; moving away after pressing down does not cause a mistaken submission.
- Implementation side: measure the actual hit area rather than the icon size; cover target adjacency, edges, scroll conflicts, and pointer cancellation.
CounterexamplesUnder-delivery: invisible hot zones of adjacent icons overlap; over-delivery: expanding the hot zone without limit, causing mis-taps on blank space.
AC2-8Shortcuts and hover content are controllable
Applies tocharacter-key shortcuts, tooltips, hover cards, and focus-triggered popovers.
Requirement: A shortcut triggered by character keys alone MUST be able to be turned off, remapped to include a non-character key, or take effect only while the corresponding control is focused. Additional hover content MUST be dismissible, hoverable into, and persist until the user moves away or actively dismisses it, once the applicable conditions hold; the user must not be required to chase the content within a brief time window.
Design applicationVoice input does not trigger a global "delete" key; a popover can be closed with Escape and can be moved into and its links clicked.
Verification
- User side: read, move into, and operate the popover after zooming in; dictated text does not mistakenly trigger a function.
- Implementation side: verify the trigger scope and dismissal under keyboard, pointer, and assistive input; retain the necessary exceptions the standard permits.
CounterexamplesUnder-delivery: saying a single letter triggers a shortcut; over-delivery: disabling every platform shortcut.
AC3 Semantics are understandable
Give assistive technology accurate semantics, and notify changes at the pace of the task.
AC3-1Semantics match actual behavior
Applies tonative and custom-built controls.
Requirement: Native semantics suited to the purpose MUST be used preferentially. Once a custom-built control declares a role, it MUST implement the corresponding keyboard behavior, state, and value; missing interaction must not be patched with an ARIA name. A still-focusable element must not be hidden, and a decorative element must not be made operable.
Design applicationA switch has a name, a switch role, and a switch state together; a custom menu implements expected navigation.
Verification
- User side: the announced role matches the result of the key operation.
- Implementation side: check the semantic tree and actually operate it — both the role declaration and the listened event are verified.
CounterexamplesUnder-delivery: a div declares "button" but does not respond to space; over-delivery: overriding a native button's semantics to turn it into a menu item.
AC3-2A name includes the visible label and necessary context
Applies tobuttons, fields, repeated list operations, and voice control.
Requirement: The accessible name MUST state the purpose, in the full word order that includes the visible label; object context may be appended. The same action can reuse a name, but when the objects differ, they MUST be distinguishable by name and programmatic context. Required, invalid, expanded, selected, disabled, and value MUST be genuinely obtainable — state must not be forced into a name that cannot stay in sync.
Design application"Delete Zhang San's address" retains the visible "Delete"; a field label stays persistently present.
Verification
- User side: speaking the name seen is enough to locate it; a screen reader can distinguish the objects of multiple delete buttons.
- Implementation side: check the source of the computed name and its state, and re-verify after switching language and state.
CounterexamplesUnder-delivery: the screen shows "Save" while the screen reader announces "Continue"; over-delivery: the name repeats the role and a whole paragraph of description aloud.
AC3-3State-change notification is proportionate
Applies toasynchronous submission, progress, errors, notifications, and background completion.
Requirement: A necessary status message that does not move focus MUST be perceivable by assistive technology. An ordinary result is queued for notification; only an urgent event needing immediate handling interrupts. Progress may be aggregated, but a final result, error, or pending item must not be swallowed. Provide a persistent query location, avoiding duplicate announcement between a focus notification and a live region.
Design applicationA successful submission is politely announced once with the receipt retained; a failure announces the reason and a retry entry.
Verification
- User side: not repeatedly interrupted by a percentage while filling in, but still informed when submission fails.
- Implementation side: test the actual screen-reader output and state events; check that the busy state ends, announcements are de-duplicated, and the empty-to-non-empty transition is handled.
CounterexamplesUnder-delivery: an error appears visually with no semantic update; over-delivery: every notification uses assertive.
AC3-4Structure and relationships are traversable
Applies toheadings, regions, forms, tables, lists, and long pages.
Requirement: A genuine heading hierarchy, regions, and skippable repeated content MUST be provided; field labels, descriptions, errors, group headings, and header relationships MUST be programmatically determinable. A complex data table preserves row-column context, and a layout container is not disguised as a data table. Cross-page search or a table of contents SHOULD help users locate long content.
Design applicationA form uses group headings; an error summary can jump to the corresponding field; a data table states its units.
Verification
- User side: can navigate by heading and understand values by header, without traversing the entire page item by item.
- Implementation side: check whether relationship IDs are valid, table merge relationships, and jump targets; a mobile layout still preserves meaning.
CounterexamplesUnder-delivery: a table is just a number of aligned divs; over-delivery: making every small card a top-level landmark.
AC3-5Language, direction, and input purpose are determinable
Applies tomultilingual pages, mixed language, bidirectional text, and personal-information forms.
Requirement: Web MUST declare the language of the page and any necessary passages; native applications use the platform's corresponding mechanism. A language switch MUST keep the name, description, and error in sync. Dates, numbers, and addresses are formatted explicitly per context; bidirectional text is correctly isolated, and an amount or account number must not be reversed. A field whose input purpose is recognizable provides the appropriate autofill semantics without restricting reasonable forms of name and address.
Design applicationA name field allows reasonable characters; an international phone number states the area code explicitly; example dates explain the year-month-day order.
Verification
- User side: a screen reader correctly reads different languages; a user can enter their real name and the format is recognized.
- Implementation side: check lang, dir, autocomplete, or the platform-equivalent attributes, testing long translations and mixed direction.
CounterexamplesUnder-delivery: a Chinese page is read as English; over-delivery: forcibly switching the voice for every foreign proper name.
AC3-6Streaming and virtualized content is navigable
Applies tolive logs, chat, streaming generation, infinite lists, and virtual grids.
Requirement: A stable current reading item and operation target MUST be preserved; the user's position must not be lost because an off-screen node was recycled. Streaming content is notified by complete semantic segment or stage, with follow-pause, review, the final result, and an abort state provided — it must not be announced character by character. A virtual list exposes a reasonable position and total; an unknown total MUST be represented truthfully, and a usable pagination or load-on-demand path is provided where necessary.
Design applicationAuto-stick-to-bottom stops once the user scrolls up to read; new messages are indicated with a "new content" entry.
Verification
- User side: reading old content is not stripped of position by new content, and the final result remains fully accessible.
- Implementation side: simulate high-frequency updates, node recycling, stream interruption, and recovery; verify the active-item reference always remains valid.
CounterexamplesUnder-delivery: a node being read is reused for another message; over-delivery: freezing the result forever just to keep the position stable.
AC3-7Third-party components and fix-ups carry the same requirement
Applies tocomponent libraries, embedded controls, overlays, and automatic semantic fixes.
Requirement: The final interaction and semantics MUST be accepted for review — usability must not be declared just because a tool was installed. A fix must not override a user preference or create a duplicate control; the base task MUST still be reachable after an optional assistive layer is turned off. When a third party blocks a critical path, it MUST be fixed, replaced, or given an equivalent entry — stating the limitation does not substitute for a completed path.
Design applicationTest the keyboard and captions before procuring a player; replace an inaccessible CAPTCHA.
Verification
- User side: registration and submission still work after an assistive plugin is turned off.
- Implementation side: check the semantic tree, events, and focus conflicts before and after injection, and track the party responsible for the defect.
CounterexamplesUnder-delivery: a toolbar is used in place of fixing the form; over-delivery: forcibly overlaying a whole second interface on a usable native control.
AC4 Comprehension and recovery are sustainable
Let users understand and decide at their own pace, and come back from interruption or error.
AC4-1Time limits are adjustable and progress is not lost on expiry
Applies toauthentication validity, business deadlines, and draft retention.
Requirement: The three kinds of deadline and their starting points MUST each be stated separately. An adjustable time limit provides a path meeting the applicable standard — turning off, adjusting, or extending before expiry; a non-adjustable item records the actual exception, such as a real-time event or necessity, item by item — "security requires it" alone is not sufficient. Perceivable notice is given before expiry; an expired authentication does not continue to use a stale credential, and after re-authentication, permitted non-sensitive input is restored.
Design applicationA countdown and an "extend" entry can be discovered by a screen reader; a draft is not destroyed together with the authentication.
Verification
- User side: can continue after pausing or switching apps; does not have to refill the entire form when re-signing-in is required.
- Implementation side: inject a near-expiry condition with a controllable clock, checking the extension count, the warning window, and state preservation.
CounterexamplesUnder-delivery: it clears automatically with no notice; over-delivery: keeping an expired authorization valid just to preserve progress.
AC4-2Information is not requested again across steps
Applies tomulti-step forms, comparison, and confirmation.
Requirement: Information already entered or provided within the same process MUST be auto-filled or offered for selection; an exception for task necessity, security, or information that has become invalid MUST be explicitly recorded. Information that needs comparing is available at the current location; "enter it again" must not be treated as the default confirmation method.
Design applicationThe confirmation page shows an editable summary, retaining the chosen address rather than forcing the user to remember it.
Verification
- User side: can review and edit without transcribing or repeatedly recalling numbers.
- Implementation side: check data binding between prior and later steps, its source, invalidation judgment, and retention after going back.
CounterexamplesUnder-delivery: the next step asks for the same address again; over-delivery: auto-carrying in all unrelated historical data.
AC4-3Authentication does not rely on a cognitive test as the only path
Applies tosign-in, multi-factor authentication, account recovery, and human verification.
Requirement: A valid path requiring no memorization, transcription, or puzzle-solving MUST be supported, or an assistive mechanism that can complete that cognitive step MUST be provided; password managers, autofill, and pasting are allowed, and a verification code supports full pasting or platform fill. Each step is verified separately. An auditory puzzle must not simply be added alongside a visual one. These guidelines prefer a path that does not depend on recognizing images; a standard-permitted image-recognition exception must not be called fully usable.
Design applicationPassword fields have correct semantics; an accessible credential or device-confirmation path and account recovery are provided.
Verification
- User side: can sign in without memorizing a password or hand-copying a verification code, and can recover when a device is unavailable.
- Implementation side: check paste interception, split input boxes, multi-factor redirects, and the alternative entry after a risk-control block.
CounterexamplesUnder-delivery: pasting is disabled and only a memorized verification code works; over-delivery: cancelling all identity verification in the name of accessibility.
AC4-4Explanations are clear and respectful of the user
Applies totask copy, terminology, confirmation, error, and content expression.
Requirement: Necessary conditions and consequences MUST be stated at the point of action, not hidden in a long agreement; terms SHOULD be explained in familiar words and explicit actions. Simplified wording must not drop restrictions, cost, or uncertainty; age, capability, or language level must not be used for a derogatory or infantilizing label. Important information SHOULD allow expand-on-demand and repeated reading.
Design application"The address is missing a house number, please add it" replaces "invalid parameter"; a technical abbreviation is explained the first time it appears.
Verification
- User side: a target user can state what will happen and what to do next.
- Implementation side: check every button, description, and actual action against each other; check comprehension through task interviews, not a readability score alone.
CounterexamplesUnder-delivery: only an internal error code is shown; over-delivery: hiding a critical risk in the name of "simplicity."
AC4-5An error can be located, corrected, and retried
Applies toinput validation, submission failure, and partial success.
Requirement: The object in error, the cause, and a workable next step MUST be stated, and a programmatic relationship between the error and the field MUST be established. After submission, the error summary or the first error may be focused, avoiding repeated interruption; other valid input is preserved during correction. When the result is unknown, check the actual state before retrying — a false failure report must not lead to a duplicate charge or submission.
Design applicationThe error summary links to the field; an unknown result shows a query and recovery entry.
Verification
- User side: can fix errors independently without redoing everything; knows which items already succeeded.
- Implementation side: inject validation failure, network disconnection, and partial submission, checking the persistent state and the duplicate-prevention mechanism.
CounterexamplesUnder-delivery: a red box with no explanation clears the form; over-delivery: interrupting the read-aloud to report every character typed as an error.
AC4-6Distraction is suppressible and flashing is constrained
Applies toanimation, carousels, sound, auto-refresh, and dynamic backgrounds.
Requirement: Movement, flashing, or scrolling content that starts automatically, lasts more than 5 seconds, and runs alongside other content MUST be pausable, stoppable, or hideable, with a necessary-activity exception requiring proof; auto-updating information provides control per the standard. Automatic sound lasting more than 3 seconds MUST have a pause, stop, or independent volume control. These guidelines default to not auto-playing sound. When motion is reduced, a static state and progress are preserved; flashing follows the limits in Appendix A.
Design applicationLoading uses static copy or a low-disturbance progress indicator; a carousel provides pause, and decorative displacement stops when motion is reduced.
Verification
- User side: does not have to endure prolonged motion or sound before finding the off entry.
- Implementation side: check that information is consistent before and after motion is turned off; check each auto-playing and flashing asset individually.
CounterexamplesUnder-delivery: reduced motion just speeds up the animation; over-delivery: hiding the loading state along with it.
AC4-7A brief notice can be retrieved again, and undo does not depend on speed
Applies totoasts, notification bars, confirmation receipts, and undo.
Requirement: A critical result and necessary disclosure MUST have a persistent location; a notice disappearing must not become the undo deadline. Impact risk and reversibility are judged separately, with the applicable withdrawal scope and time limit stated before execution; an unconfirmable result shows pending verification. A high-consequence action has at minimum an applicable undo, a pre-submission check, or confirmation protection — avoid requiring multiple confirmations for every action uniformly.
Design applicationA deletion can still be undone from the history after the notice disappears; canceling a future subscription is explicitly distinguished from reversing an already-charged payment.
Verification
- User side: a slow reader can still find the result and an available correction action.
- Implementation side: check that the notification TTL is independent of the business undo deadline, and that the receipt matches the execution state.
CounterexamplesUnder-delivery: the undo entry disappears permanently after three seconds; over-delivery: repeatedly confirming even a low-risk choice.
AC4-8Recovery after interruption does not presume incapacity
Applies tolong flows, saving, incoming calls, switching apps, and temporary departure.
Requirement: The save scope, retention time, and recovery entry MUST be stated explicitly; a user's pause, help-seeking, or retry must not itself be treated as abandonment, insufficient capability, or a basis for automatic degradation. Recovery shows the current step and completed content, and re-checks any facts that have become invalid; sensitive content may go unretained but MUST be disclosed in advance with a workable way to re-enter it.
Design applicationAfter restoring a draft, show "filled through to contact information," without resubmitting an action already executed.
Verification
- User side: knows where to continue after an interruption, and can edit the saved content.
- Implementation side: simulate exiting, going offline, authentication expiry, and repeated recovery, checking that drafts and already-executed results are kept separate.
CounterexamplesUnder-delivery: it clears just by leaving the page; over-delivery: permanently saving sensitive input without the user's choice.
AC4-9A high-consequence flow can be previewed, and help can be started directly
Applies topayment, authorization, deletion, complex applications, and a step where the user is stuck.
Requirement: A preview or rehearsal without real consequence SHOULD be provided, clearly distinguished from actual execution. A help entry that does not require describing technical detail MUST exist, and general help can be initiated while signed out when a sign-in failure occurs; accessible authentication is used only once private data is involved. The help entry's location is consistent, and the context handed off carries only necessary, already-disclosed information.
Design application"Trouble at this step" automatically attaches the step identifier; the end of a rehearsal states that nothing was submitted.
Verification
- User side: can ask for help without knowing an error code; does not mistake a rehearsal for something actually completed.
- Implementation side: confirm a rehearsal makes no real write; help requested while signed out cannot read another person's information, and the shared scope is checked before handoff.
CounterexamplesUnder-delivery: unable to sign in, yet sign-in is required to contact support; over-delivery: every user is first forced through a tutorial.
AC5 Preference and capability are respected
Let users adjust by effect of choice, while retaining full task capability.
AC5-1Respond to platform preferences without fabricating a choice
Applies totext size, reduced motion, contrast, forced colors, and assistive technology.
Requirement: The relevant preference MUST be read or inherited through a public platform mechanism, with support for changes at runtime. Platform-not-provided, read failure, and user-not-chosen MUST be recorded separately and not uniformly treated as "all enabled." A user's chosen assistive-technology settings must not be overridden; an explicit product preference controls only the attributes it supports and must not turn off platform forced-colors mode or intercept browser zoom.
Design applicationFollows the system by default; when the motion preference fails to read, a low-motion presentation is used, but it is not recorded as a user choice.
Verification
- User side: the product responds after the system setting is changed; the user is not required to re-declare a disability or assistive-technology usage.
- Implementation side: check the source, resolved value, unknown reason, and change event; borders and state remain under forced-colors mode.
CounterexamplesUnder-delivery: the system has already reduced motion but the product keeps parallax; over-delivery: inverting colors and enlarging all text just because a read failed.
AC5-2Zooming, reflow, and text spacing do not lose content
Applies topages, popups, labels, tables, text, and forms.
Requirement: Web MUST meet Appendix A's text-scaling, reflow, and spacing-override tests; native applications support platform text scaling. A user must not be prevented from zooming, and a fixed font-size ceiling must not be used to dodge layout problems. An area genuinely requiring two-dimensional layout may scroll locally with an explanation — the whole page must not be made to scroll horizontally on this basis; captions, long names, and error messages are checked the same way.
Design applicationA container grows with its content; button text can wrap; a data table scrolls within its own region.
Verification
- User side: can still read, confirm, and cancel after zooming in; long translations and user letter-spacing are not clipped.
- Implementation side: run text enlargement, narrow-viewport reflow, and spacing override separately — the three tests are not merged into a single screenshot check.
CounterexamplesUnder-delivery: the confirm button is clipped at 200% font size; over-delivery: shrinking the font in reverse just to fit one screen.
AC5-3Settings are discoverable, composable, and recoverable
Applies toadjustable items and presets the product provides.
Requirement: Settings MUST be named by effect and adjustable item by item, not entered through "select senior/disability mode first." At least a setting reachable within the current task, or an explicit platform-setting pointer, MUST be provided; current input and the return position are preserved. Temporary settings are distinguished from persisted preferences, with support for reverting to follow the system; a combined preset does not lock a single item.
Design application"Enlarge text" and "reduce motion" can be chosen separately; a temporary adjustment is not written into the account default.
Verification
- User side: can adjust when running into difficulty and return to where they were, without being forced to lose a draft.
- Implementation side: check that the settings entry is reachable, the storage subject, sign-out, and shared-device clearing behavior.
CounterexamplesUnder-delivery: only one large-text mode exists, and it turns off every advanced feature; over-delivery: a full settings page pops up at every single step.
AC5-4Adaptation does not reduce rights or function
Applies tolarge text, simplified layout, assistive input, low bandwidth, and alternative paths.
Requirement: Enabling an accessibility setting must not reduce task completability, content timeliness, quota, or service treatment, nor add an unrelated charge, identity proof, or data collection. A simplified presentation still provides a reachable entry to full capability; an objective limitation MUST be stated with an effective alternative that does not require turning off a necessary setting.
Design applicationLarge-text mode can complete the same business as default mode, with complex options expandable on demand.
Verification
- User side: the same task produces the same result and service conditions under different settings.
- Implementation side: compare function, cost, limits, update timeliness, and data requirements using a task checklist.
CounterexamplesUnder-delivery: payment is disabled once the screen reader is turned on; over-delivery: refusing to let users rearrange content just to keep the layout identical.
AC5-5Treatment does not change based on a presumed identity
Applies toassistive-technology detection, behavioral analysis, recommendation, and automatic adaptation.
Requirement: The presence of assistive technology, a pause, a mistake, or a help request must not be inferred as insufficient capability and used to downgrade function or treatment, and health proof must not be demanded to enable an adjustable item. Necessary compatibility adaptation SHOULD be limited to implementation differences; user data collection MUST have a clear, minimized purpose. A system-proposed adjustment MUST be refusable and must not override an explicit preference.
Design applicationSuggest "you can enlarge the text" rather than "you seem to have a vision problem"; assistive technology is not judged an automated attack.
Verification
- User side: can decline a suggestion and continue, without being repeatedly asked again.
- Implementation side: check automated branches and the source of risk-control input, testing normal assistive-technology input and appeal against false blocking.
CounterexamplesUnder-delivery: a long pause automatically enters a reduced-function interface; over-delivery: refusing to even follow the system font size in the name of "not distinguishing between users."
AC5-6Adapts to language, culture, and use context
Applies tocross-region forms, direction, device posture, and constrained networks.
Requirement: Unnecessary restriction to a single language, writing system, name structure, or device orientation MUST be avoided; orientation lock is adopted only when essential to the function, with an explanation. Critical tasks SHOULD be checked under low bandwidth, one-handed use, temporary impairment, noise, and bright-light conditions. A user should not need to disclose a capability or cultural identity to obtain basic capability.
Design applicationReasonable names and addresses are allowed; a long form keeps an offline draft, and error messages do not rely on voice alone.
Verification
- User side: can proceed using real information, completing the task in the declared supported postures and environments.
- Implementation side: cover language, direction, input method, disconnection, and device rotation; check whether an exception is genuinely required by the task.
CounterexamplesUnder-delivery: every name must fit two Latin-alphabet segments; over-delivery: automatically choosing a capability tier for the user based on nationality.
AC6 Usability has evidence
Support conclusions jointly with rule checks, assistive-technology operation, and real user tasks.
AC6-1The three kinds of evidence are obtained separately
Applies todesign delivery, implementation acceptance, and external claims.
Requirement: Automated checks, manual rule and assistive-technology checks, and target-user task testing MUST be distinguished. An automated check can find some defects but cannot independently prove conformance or task usability; a user completing a task also does not exempt a detectable rule defect. Every conclusion MUST bind its test scope and evidence — a tool score is not treated as the overall usability rate.
Design applicationA form task checks semantics, keyboard, and real-person completion at the same time.
Verification
- User side: real users can complete the task and understand the result, and problems are not hidden by a tool passing.
- Implementation side: establish the association among rule items, execution records, and user observations, retaining failed and unverified states.
CounterexamplesUnder-delivery: zero scanner errors is declared fully accessible; over-delivery: skipping rule checks just because real-person testing was done.
AC6-2Critical tasks cover real combinations
Applies toregistration, sign-in, primary business, editing, undo, help-seeking, and exit.
Requirement: The task's start point, end point, and success condition MUST be explicitly listed, covering the assistive technology, input method, language, and device combinations actually in use. Recruit people with relevant lived experience, including cognitive, auditory, or motor needs who do not use assistive tools — simulated disability must not be a substitute. Independent completion, completion after a prompt, and completion by a proxy operator are recorded separately; research participation conditions and compensation are fair.
Design applicationCover target combinations such as screen reader, magnification, keyboard, and switch control, recording the basis for the selection.
Verification
- User side: users complete real tasks using their everyday methods and can report a barrier without a researcher performing it on their behalf.
- Implementation side: record the sample, environment, configuration, task, blocking point, assistance, and limitations; do not extrapolate everyone from a few people.
CounterexamplesUnder-delivery: only a developer tries the screen reader once; over-delivery: requiring every device to be exhausted before a known defect may be fixed.
AC6-3A severe barrier is not offset by an average score
Applies toacceptance judgment and release gating.
Requirement: Where a critical path cannot be completed, a focus trap, necessary information is missing, a timeout loses work, a mis-tap produces a major consequence, or adaptation causes a discriminatory restriction, the affected scope is judged fail as soon as it occurs. A restricted use with a clear boundary may be recorded, but that scope must not be claimed as passed on this basis; an alternative approach requires actual verification and must not add unreasonable burden.
Design applicationList "pass/fail/unverified/not-applicable with basis" separately, assigning an owner and retest condition item by item.
Verification
- User side: a user is not excluded from a fix just because their path has few users.
- Implementation side: the release check looks at blocking items and evidence, not an aggregated average score.
CounterexamplesUnder-delivery: a screen-reader registration failure is offset by other high scores; over-delivery: exaggerating a minor, non-blocking defect into "unusable on every path."
AC6-4Claims and feedback can be checked
Applies toaccessibility statements, the help center, and feedback channels.
Requirement: Tested tasks, supported environments, known limitations, and help paths MUST be stated. Feedback itself MUST be accessible, offering a way that complements sensory dependence, and including an entry that does not require freeform technical writing; confirmation, disposition, and progress query are recorded. A low volume of feedback must not be taken as few barriers, and a conformance statement must not substitute for real-person testing.
Design applicationA user can select the step where the error occurred and submit, or seek help by voice, callback, or similar means.
Verification
- User side: can report a barrier and learn of subsequent handling, without first passing an inaccessible CAPTCHA.
- Implementation side: spot-check that feedback enters the defect workflow, and that every external conclusion traces back to a test record.
CounterexamplesUnder-delivery: the feedback form itself cannot be submitted; over-delivery: forcing users to disclose diagnostic information to prove the problem.
AC6-5Re-verify after an affected mechanism changes
Applies tochanges to style, semantics, content, flow, authentication, third parties, and platform behavior.
Requirement: The affected task MUST be re-checked; a test conclusion that is no longer applicable must not continue to be used. A retest MUST cover at minimum the change itself and its knock-on effects on focus, semantics, preference, and recovery; indiscriminately redoing every test is not required. Convert a real blocking report into a reproducible case, noting the environment and trigger condition.
Design applicationAfter adjusting a button style, retest contrast, focus, and target size; after replacing an authentication component, walk through sign-in end to end again.
Verification
- User side: the fix genuinely resolves the barrier in the everyday combination without introducing a failure on another path.
- Implementation side: check the change's impact, retest scope, and uncovered items; keep the execution evidence.
CounterexamplesUnder-delivery: a past passing conclusion is still cited after a component replacement; over-delivery: a copy-text typo fix triggers an unrelated full-scale study.
AC7 A service path stays reachable
Keep a reachable, hand-off-able, verifiable service path available when a user is stuck.
AC7-1Help entries and guidance correspond to the current task
Applies tohelp, tutorials, term explanations, and operating instructions.
Requirement: A repeatedly appearing help entry MUST keep its relative order, with guidance consistent with the actual interface and pointing to a location the user can access. Stale instructions MUST be corrected or explicitly marked no longer in use; a user must not be left to complete a flow based on a button that no longer exists. Help SHOULD be reachable within the task without clearing input.
Design applicationHelp for that step is offered next to the error; a tutorial supports text and accessible media.
Verification
- User side: can find the real entry by following the guidance and return to the original task.
- Implementation side: spot-check guidance links, control names, language, and the operating path.
CounterexamplesUnder-delivery: the instructions ask the user to click an entry that no longer exists; over-delivery: forcing the tutorial to be watched again every time.
AC7-2Basic services provide a workable alternative channel
Applies togovernment services, medical appointments, public utilities, and other basic services with an already-committed human channel.
Requirement: A workable human, phone, in-person, or other alternative MUST be listed per critical task, stating the scope handled, availability conditions, and remaining barriers; the absence of an alternative MUST be truthfully recorded with the exclusion risk addressed — it must not be marked "covered." Phone is not a universal alternative for a deaf or hard-of-hearing user, and in-person is not a universal alternative for someone with limited mobility.
Design applicationState per task the channels actually able to handle it and a help-seeking method with no text description required.
Verification
- User side: can initiate the process without the blocked digital path, and is not bounced between channels.
- Implementation side: actually test channel connectivity and handling scope, comparing extra cost, wait time, and information requirements.
CounterexamplesUnder-delivery: the so-called alternative channel just sends the user back to the app; over-delivery: requiring every online operation to be confirmed in person.
AC7-3A handoff preserves necessary progress and accountability
Applies toself-service-to-human escalation, remote assistance, cross-entry continuation, and service interruption.
Requirement: A handoff MUST state who it is going to, what information travels with it, and how to continue next; the scope transferred is the minimum necessary, chosen with the user's informed consent. The handoff is not claimed complete before the receiving party confirms it has taken over; on failure, a queryable request and recovery entry are retained, and the user must not be required to re-provide material that could be safely reused.
Design applicationGenerate an accessible summary of the case that the user can trim of unnecessary content before handing it to support staff.
Verification
- User side: can know who is handling it, without retelling everything from scratch, and can stop the sharing.
- Implementation side: simulate a failed handoff, a timeout, and repeated takeover, checking ownership, data, and submission state.
CounterexamplesUnder-delivery: everything is lost after escalating to a human; over-delivery: the entire account record is sent by default.
AC8 Assistance does not replace the person
Make help visible and revocable, and let the person decide through an accessible means.
AC8-1An assistance session is perceivable and terminable
Applies toremote-viewing or proxy-operation capability the product provides.
Requirement: The assisting party's identity, scope of capability, and an end entry MUST be continuously presented; the person MUST be able to terminate it using their own input method, and the assisting party must not hide the entry or prevent termination. Connected, in progress, and terminated MUST reflect the real state — a disconnected screen is not equated with authority having been revoked. The product does not need to identify a bystander present in the physical room.
Design applicationThe session bar can be located by a screen reader, and there is a receipt after it ends.
Verification
- User side: the session can be ended without depending on the assisting party's consent.
- Implementation side: check the control message and the server-side session state; restrict the assistant from continuing to operate when disconnected.
CounterexamplesUnder-delivery: the other party still has control after the window is closed; over-delivery: requiring camera recognition of bystanders even when there is no remote capability.
AC8-2Authority is granted per task and genuinely revoked
Applies toremote assistance, proxy filling, family collaboration, and sub-accounts.
Requirement: No proxy-operation authority exists by default; a grant is bound to the assisting person, object, action, and duration, and does not automatically include payment, authorization, account security, or export. Subsequent operation is blocked on end, expiry, or revocation; an action already submitted states its result and the remediable scope. A shared device does not mean all authority is shared, and assistance must not be achieved by sharing a password.
Design applicationOnly the currently requested fill-in authority is granted; submission still returns to the person's confirmation.
Verification
- User side: can understand who can do what, and revoke it at any time.
- Implementation side: check server-side authority, in-flight requests, and the revocation race condition, preventing a mere front-end button from being the only thing turned off.
CounterexamplesUnder-delivery: a single instance of assistance leaves standing authority; over-delivery: re-authorizing for every ordinary field filled in.
AC8-3The person's decision has an accessible means of expression
Applies topayment, signing, authorization, account closure, and changes to key identity data.
Requirement: These decisions MUST be expressed by the person in an attributable way — the assisting party's claim of consent alone is not sufficient. A switch, voice, or other assistive input is allowed; "the person's decision" is not equated with the person being able to tap it by hand. Unconfirmed, it is not executed; legal representation applies independent authorization verification and a genuine identity record and must not be disguised as the person's own action.
Design applicationAfter the assisting party fills it in, the person confirms a clear summary using their own accessible control method.
Verification
- User side: can express or refuse the decision without independently performing every action.
- Implementation side: check the decision's subject, authorization source, operating subject, and receipt — the operator's device is not substituted for evidence of intent.
CounterexamplesUnder-delivery: a child tapping on behalf of a parent is recorded as the person's own confirmation; over-delivery: recognizing only a finger tap and rejecting switch input.
AC8-4Assistance opens only necessary information
Applies toremote sharing, assisted forms, and support-staff handoff.
Requirement: Sensitive information unrelated to the task is hidden by default, and opening a single item requires the person's choice at that time. A password, verification code, or authentication secret is not shown to the assisting party; the user's own assistive technology and password manager are allowed to handle authentication normally, and the person's own screen reader must not be blocked at the same time as the assisting party is masked.
Design applicationThe shared view masks balance and credentials, while the person can still operate their own secure local input.
Verification
- User side: the assisting party can help without seeing unrelated information, and the person can still complete authentication.
- Implementation side: check the person's own presentation, remote transmission, logs, and screen recording separately, rather than adding only a visual mosaic.
CounterexamplesUnder-delivery: the picture is masked but the DOM or network traffic still leaks it; over-delivery: hiding the person's own input from every assistive technology as well.
AC8-5An action is auditable and the subject is not conflated
Applies toproxy-operation receipts, records, and dispute queries.
Requirement: The actual operator, decision-maker, object, time, and result MUST be recorded; the person can query it independently, and the assisting party cannot delete or alter it. The retention scope is disclosed and data is minimized — full screen recording is not the default. In a shared-account scenario, an unidentifiable operator must not be labeled as a verified person.
Design applicationDisplay "filled in by the assisting party, confirmed by the person, application submitted."
Verification
- User side: the person can review afterward what happened and how to seek help.
- Implementation side: check that the record is associated with the actual request, access authority, and sensitive-field masking.
CounterexamplesUnder-delivery: the record is visible only to the assisting party; over-delivery: recording every password entry and family conversation just to keep a trail.
AC9 Commitments are obtained clearly
Do not trade a user's cognitive or operational impairment for a commitment they did not intend to make.
AC9-1No manipulation or disguise is used
Applies toregistration, marketing, subscriptions, promotion, and system prompts.
Requirement: Consent MUST NOT be obtained through a fake countdown, fear-based copy, a pre-checked upsell, a disguised close control, or repeated pestering; third-party content MUST have a perceivable source label and must not impersonate a system prompt. A genuine deadline may be stated but must not be falsely reset.
Design applicationDecline and close controls are discoverable and actually take effect; an ad label can be read by a screen reader.
Verification
- User side: can accurately distinguish product disclosure, third-party content, and promotion.
- Implementation side: review the critical conversion path, defaults, click areas, and close-button result clause by clause.
CounterexamplesUnder-delivery: clicking close opens the purchase page instead; over-delivery: not disclosing even a genuine deadline, causing the user to miss the process.
AC9-2Cost and authorization facts are available before confirmation
Applies topayment, renewal, permissions, and standing arrangements.
Requirement: The amount, the object, and the applicable cycle, subsequent price, charge timing, and cancellation method MUST be presented directly at the confirmation step; a one-time operation does not have a fabricated cycle filled in. An authorization MUST state its subject, scope, duration, re-delegation, and revocation. One-directional scrolling after zooming is allowed; text is not shrunk to "fit on one screen"; when information is missing, no executable confirmation is offered.
Design applicationThe confirmation page presents the promotional period and the subsequent price together; when a necessary field is unavailable, this is stated and the flow stops at preview.
Verification
- User side: can state who will be paid how much, for how long, and how to cancel.
- Implementation side: check that the summary matches the actual submission parameters, and that it remains accessible with long content and large font size.
CounterexamplesUnder-delivery: only the first-month price is highlighted; over-delivery: cramming the entire agreement into every single confirmation.
AC9-3Cancellation and refusal are not artificially made harder
Applies tounsubscribing, unlinking, revocation, refusal, and account closure.
Requirement: The entry MUST NOT be hidden, an explanation MUST NOT be forced, retention attempts MUST NOT be repeated, and steps MUST NOT be artificially added; compare the total burden of discovery, comprehension, operation, and waiting, not merely the click count. When a genuine settlement or identity-verification need exists, state the reason, time, and progress. Canceling a future arrangement is stated separately from reversing an existing result; an unexpressed choice does not constitute new consent.
Design applicationThe cancellation entry sits alongside subscription management, and an optional explanation can be skipped.
Verification
- User side: does not have to turn off accessibility settings or make a phone call just to cancel an online service.
- Implementation side: walk through sign-up and cancellation using the same assistive input, checking that it actually takes effect and any pending state.
CounterexamplesUnder-delivery: sign-up is one click online while unsubscribing requires listening through a voice menu; over-delivery: removing a necessary funds check just to match the same step count.
AC9-4Browsing and automatic progression do not create a new commitment
Applies topage visits, focus, option changes, countdowns, and automatic flows.
Requirement: Browsing, scrolling, focusing, dwelling, or closing MUST NOT trigger payment, authorization, or subscription. An input change does not unexpectedly change the context, and a necessary automatic change is disclosed in advance; a step that would create a new commitment requires an explicit action. Automatic fulfillment within an already-valid authorization scope may continue, but it MUST stop once out of scope or after revocation, with unfinished items checked.
Design applicationCompleting an upload can show the result, without auto-checking and submitting the next service.
Verification
- User side: can read every option without worrying about accidental execution.
- Implementation side: test onfocus, onchange, timers, and retry events; browsing history is not treated as consent.
CounterexamplesUnder-delivery: dwelling for ten seconds counts as accepting the terms; over-delivery: an already-authorized periodic task repeats requesting the same confirmation on every execution.
AC9-5A standing arrangement can be confirmed and canceled independently
Applies tosubscriptions, auto-debit, password-free payment, biometric binding, and standing authorization.
Requirement: The user MUST be able to identify each standing consequence, actively choose it, and cancel it independently, without it being bundled with ordinary browsing or a one-time transaction. Confirmation quality depends on the facts and intent, not on mechanically increasing the click count. When scope, object, duration, or cost exceeds an already-confirmed condition, the decision MUST be obtained again — a broader authority is not inherited.
Design applicationPayment does not check auto-debit by default; a complete summary and an explicit action are given before enabling it.
Verification
- User side: knows the difference between a one-time payment and a standing arrangement, and can turn off the latter independently.
- Implementation side: check the actual authorization boundary, the point cancellation takes effect, and interception of subsequent calls.
CounterexamplesUnder-delivery: payment enables password-free debit as a side effect; over-delivery: a single clear confirmation is turned into five consecutive confirmations.
AC9-6Authenticity can be checked and conclusions are not overstated
Applies tomessages, notifications, calls, and charges sent by the product.
Requirement: An independently reachable official query or support entry MUST be provided; the check result distinguishes confirmed-from-this-product, not-found, and undeterminable. A genuine source does not mean the content or transaction carries no risk, and coverage of external fraud must not be claimed. High-consequence verification MUST use an actually usable, independent basis for verification, while still guaranteeing an accessible recovery path.
Design applicationVerify a notification from the in-app message record, without requiring a click on a suspicious link.
Verification
- User side: can find the check entry independently and understand an unknown result.
- Implementation side: check the coverage scope, data freshness, impersonation scenarios, and recovery method of the source query.
CounterexamplesUnder-delivery: not-found is declared absolutely safe; over-delivery: any ordinary prompt demands multi-device authentication from the user.
4. Terminology
| Term | Meaning in this document | Not to be confused with |
|---|---|---|
| Equivalent path | Another way to obtain the same necessary information or complete the same task in the target context | The simultaneous existence of two forms does not prove equivalence; equivalence does not require the experience to match item by item |
| Accessible name | The name assistive technology uses to identify an element's purpose | Not only the on-screen text, and not a complete help description |
| Input focus | The object currently receiving input such as keyboard | May differ from a control's internal active item or the screen-reader reading position |
| Status message | A message that does not change context but discloses a result, progress, or error | Not every DOM update needs to be announced |
| Critical task | A complete flow whose failure prevents the user from obtaining the product's primary service | Not tested only on the first screen and the normal success path |
| Preference | A display or operation choice the user has expressed | A default fallback is not a user choice, and detecting the environment is not the same as obtaining a diagnosis |
| Behavior parameter | A reusable behavior decision the product can apply | Not actual authority, an operational result, or an acceptance conclusion |
| The person's decision | A decision attributable to the person's own intent | Does not require the person to independently perform every physical action |
| Restricted use | A provisional service scope that explicitly lists not-yet-supported contexts | Excluded users or failure paths are not counted toward a pass |
Appendix A: Measurable Baselines and Applicability Boundaries
The following is an implementation summary of selected criteria; the complete success criteria and exceptions are governed by the linked standard's original text. A value labeled "product default" is a design starting point, not a new conformance level; meeting the value still requires the complete task to be verified.
| Check item | Criterion and scope | Basis |
|---|---|---|
| Web normal text | Foreground-to-background contrast at least 4.5:1; large text at least 3:1. Large text is at least 18 pt, or at least 14 pt and bold — not just any 18 CSS px. Exceptions such as decoration, logos, and inactive content are checked item by item | SC 1.4.3, AA |
| Web non-text | The parts needed to identify an active control, state, or meaningful graphic, at least 3:1 against adjacent colors; not every decorative border applies. Exceptions such as a control determined by and unmodified from the user agent are listed separately | SC 1.4.11, AA |
| Text enlargement | Aside from the standard exceptions for captions and text in images, enlarging text to 200% does not lose content or function; intermediate levels are checked the same way | SC 1.4.4, AA |
| Reflow | At 320 CSS px width for horizontal content, or 256 CSS px height for vertical content, two-dimensional scrolling is not required and no information is lost; a table, map, or similar content genuinely requiring a two-dimensional relationship may have a local exception. A 1280 CSS px-wide viewport enlarged to 400% is one way to test it | SC 1.4.10, AA |
| Text-spacing override | No content or function is lost when the user sets line height to 1.5 times the font size, paragraph spacing to 2 times, letter spacing to 0.12 times, and word spacing to 0.16 times. Only the properties applicable to that language and writing system are tested; this is an accommodation test after the override, not a requirement that the default typography take these values | SC 1.4.12, AA |
| Web pointer target | At least 24×24 CSS px, or meeting the standard's spacing, same-page equivalent control, inline, user-agent, or essentiality exception. The spacing exception is judged by whether a 24 CSS px-diameter circle centered on an undersized target does not intersect an adjacent target or its corresponding circle — not a uniform 24 px gap | SC 2.5.8, AA |
| Touch design starting point | This document's default for common Web touch controls is 44×44 CSS px; this is a product default, not an AA-mandated value. Official Android guidance recommends at least 48×48 dp; dp, pt, physical pixels, and CSS px must not be equated | Official Android guideline |
| Focus appearance and obscuring | AA requires keyboard focus to be visible and not entirely obscured by author content; these guidelines require a necessary operation target to be fully visible. A 2 CSS px perimeter-equivalent area and a same-pixel 3:1 contrast before and after focus are AAA-level focus-appearance criteria — "outline 2px" alone must not be claimed to satisfy them | SC 2.4.11, AA, SC 2.4.13, AAA |
| Time-limit extension method | When adopting the "warn then extend" path, give at least 20 seconds to extend with a simple action, and allow at least 10 extensions; turning off, broad adjustment in advance, and real-time/essential exceptions are other paths — 20 seconds must not be taken as a uniform timeout for the whole flow | SC 2.2.1, A |
| Flashing | Content flashes no more than three times per second, or meets the general flash and red flash thresholds. The two are different judgment methods the standard allows; this product defaults to using no flashing. Asset area, brightness, and red conditions MUST be included in testing, not just counting animation frames | SC 2.3.1, A |
Appendix B: Joint Acceptance and Delivery
Minimal design record
One record per task is sufficient; a separate document is not required for every rule:
| Record item | Content |
|---|---|
| Task and result | Start point, end point, success condition, and how to continue after failure or interruption |
| Use context | Input method, sensory condition, language, assistive technology, device, and network |
| Design decisions | Information equivalence, focus, semantics, time, preference, consequence, and assistance boundary |
| Configuration | Tokens used, resolved values, source, unit, effective time, and dependencies |
| Evidence | Rule checks, assistive-technology operation, and real-user task records |
| Conclusion | Pass, fail, unverified, or not-applicable basis, plus the issue owner and retest condition |
Fault-injection checklist
| Scenario | Result that must be observed | Primary rules |
|---|---|---|
| Turn off sound, do not look at images, remove color differences | Necessary information and task meaning are not lost | AC1-1 through AC1-6 |
| Use only keyboard, then only single-pointer no-dragging | Both paths complete separately; no focus trap | AC2-1, AC2-4, AC2-6 |
| A fixed footer, on-screen keyboard, and enlarged text appear together | Focus, error, confirm, and cancel remain reachable | AC2-2, AC5-2 |
| Turn on reduced motion and forced colors | Motion is suppressed, while state, boundaries, and focus remain visible | AC4-6, AC5-1 |
| Read earlier content during a streaming update | Position is not seized, not interrupted character by character, and the final result is queryable | AC3-3, AC3-6 |
| Password manager, verification-code pasting, and account recovery | Every authentication stage has a completable path | AC4-3 |
| Authentication expiry, disconnection, and repeated-click submission | Input is preserved, the result is checked, and duplicate consequences are prevented | AC4-1, AC4-5, AC4-8 |
| Revoking authority mid-assistance with a request in flight | An unsubmitted operation stops; a submitted result is shown truthfully | AC8-1 through AC8-5 |
| Mis-tap, refusal, cancellation, help-seeking | No new commitment is added, and errors can be fixed or effective help reached | AC4-7, AC7, AC9 |
| A third-party component fails or an assistive layer is turned off | The base task can still be completed, or is explicitly blocked with an effective alternative given | AC3-7, AC6-3 |
The check looks not only for "under-delivery" but also "over-delivery": repeated announcements, forced multiple confirmations, automatically rewritten preferences, excessive collection in the name of helping, and breaking the whole task for the sake of a single numeric threshold.
Evidence boundaries
This document states design and acceptance requirements; it has not conducted assistive-technology testing or user research on any specific product. Sample size, caption-quality target, announcement-aggregation window, draft retention period, and service response deadline MUST be determined by the project based on task risk and the target use context, with the measurement method stated; a unified value with no source must not substitute for verification. For the full sources and the distinction among standards, explanatory material, and this product's design choices, see Reference Sources.
Implementation acceptance scenarios
The following scenarios turn existing clauses into re-checkable acceptance input, without setting a separate universal performance threshold. Select per the product's applicable capabilities, supplementing real devices, users, input sequences, and evidence; record the reason when not applicable, and do not record as passed what was not executed.
| Clause | Test input and anomaly | Expected behavior and failure criterion |
|---|---|---|
| AC2-2 | Scroll the page after an overlay appears and switch to high-contrast mode. | Focus is distinguishable and operable, and closing the overlay returns to a meaningful location. |
| AC2-6 | Complete a drag-and-drop-equivalent task without a mouse, then complete it with a single pointer without dragging. | Verify both types of alternative separately; verifying only one is not sufficient. |
| AC1-6 | A chart's filter changes but the alternative description fails to update. | The old description is not shown as the current fact; the failure is stated and accessible, valid data is provided. |
Each scenario separately checks the configuration's effective value, the execution record, and a result the user can understand. Retain the version, target, event timing, failure scope, and recovery result; an unknown external result is not filled in as either success or failure.
This dictionary expresses accessibility design decisions as reusable configuration, comprising 10 categories and 41 fields. Presentation values control color, size, and duration; behavior parameters control focus, announcement, recovery, and assistance. A field having a value does not mean the capability has been implemented, nor that the task has passed acceptance.
For requirements and judgments see Design Guidelines; for standard bases see Reference Sources. All fields begin with a11y., with the table's field concatenated to its category prefix, e.g. a11y.visual.focus.width.
1. Configuration model
What counts as a Token
| Object | Content stored | Example |
|---|---|---|
| Presentation value | Reusable color, size, time, ratio, or reference | Focus width, body line height |
| Behavior parameter | Behavior and selectable policy the product supports | Announcement priority, draft retention period |
| Implementation contract | Definitions of controls, events, tasks, and data fields | Focus-landing resolution rule after deletion |
| Operational fact | This instance's actual value, identity, state, and result | System-preference read failure, this session's authorization, current focus |
| Acceptance record | Execution evidence and scope conclusions | Screen-reader test failure, barrier encountered by a participant |
The latter three categories are not disguised as visual tokens or a "done" toggle. Configuration may reference contract identifiers; actual authorizations, private data, and test results are not placed in a shared token package. Behavior fields use this dictionary's application-configuration semantics and do not claim to be directly importable into every tool as a standard visual-token exchange file.
Levels and resolution status
- Required: the base decision MUST resolve completely; it may inherit a product preset and does not require the user to fill it in.
- Conditional: MUST be made explicit once the corresponding capability exists; without that capability, record not-applicable with the basis.
- Optional: an available default already exists, or it is configured only for differentiation needs; once adopted, its dependencies must still be satisfied.
| Status | Handling |
|---|---|
| Explicit legal value present | Use that value; baseline validation still runs |
| Not configured but has a default | Inherit from the table's default or an explicit product preset; retain the source |
| Not configured and no default | An applicable item is a configuration error; the capability must not be claimed available; retain the validated base path before the fix |
| Not applicable | The condition does not hold and the basis is recorded; not 0, false, or an empty set |
| Legal off value | Turns off only the optional behavior that field controls; does not lift the base obligation |
| Empty set | Holds only when the field allows it, e.g. an empty assistance scope means no action can yet be granted |
| Unknown | Used for operational facts, not an ordinary configuration value; falls back per attribute and retains the reason for being unknown |
| Illegal value or broken reference | Reject the configuration and report the path and reason; must not silently execute with the loosest value |
Types and units
Dimension is {"value": number, "unit": unit}; Duration has the same shape, with unit restricted to ms/s/min/h/d. Durations can be compared after conversion; CSS px, dp, pt, and sp are not directly interchangeable. Color uses a standard sRGB string or a type-matched reference; a reference MUST resolve to an existing, unique object, and cycles are forbidden.
Sets have no duplicate members and are not auto-select-all. Field names, enums, and conditionally required items for array fields follow each table's constraints. Implementation references resolve via stable IDs in the registry; "as appropriate" is not an acceptable entry. Default values in the tables take effect only on the declared platform; other platforms must supply a suitable preset and must not directly inherit Web units.
Who decides, and when it takes effect
- First determine the platform and capability, read the product's base preset, then apply the permitted task configuration.
- For presentation properties selectable by the user, resolve in order: "this session's explicit choice → this product's persisted choice → system choice → product fallback." Only an actual user expression may occupy the first two layers; policy must not impersonate the user.
- Platform-forced color schemes, browser zoom, and other mechanisms the product cannot override always remain in effect; minimum contrast, reachable paths, real authorization, and necessary notifications do not lapse because of configuration layering.
- Resolve units, references, and dependencies before checking fixed baselines. A preference change takes effect in the current interface without losing input; a focus-structure change is preserved or moved to a meaningful location first. Shortening a running business deadline must not take effect silently; actual authorization still follows that session's approval.
Every resolved value retains value / source / scope / applies_when / effective_at / dependencies. Evidence is linked separately by reference; "system unknown, so reduce was adopted" MUST record source as fallback, not as user.
2. Field dictionary
| Category | Prefix | Field count |
|---|---|---|
| Visual and motion presentation | a11y.visual | 10 |
| Input and focus | a11y.operation | 5 |
| Semantics and announcement | a11y.semantics | 3 |
| Media and equivalents | a11y.media | 3 |
| Time and recovery | a11y.cognition | 6 |
| Preference and adaptation | a11y.preference | 4 |
| Help and handoff | a11y.service | 2 |
| Assistance boundary | a11y.assist | 3 |
| Consequence and receipt | a11y.integrity | 2 |
| Verification scope | a11y.assurance | 3 |
2.1 Visual and motion presentation
Prefix: a11y.visual
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Conditional | Color pairs | color.pairs | Array of color pairs: {id, foreground, background, usage, state}; colors are legal sRGB values or resolvable color references. No universal default color. | Required when presenting meaningful visual content; usage is text/large_text/non_text; the same usage is tested pair by pair across states, and transparent colors are computed from the composited result. AC1-5. |
| Conditional | Contrast profile | contrast.profile | Enum: web_aa/web_enhanced/platform_ref. Web default is web_aa; platform_ref MUST have an additional recorded platform basis. | web_aa's text/large-text/non-text thresholds are 4.5/3/3 respectively; web_enhanced is 7/4.5/3, and the latter is a local enhancement configuration that does not claim site-wide AAA. Whether a font counts as large text MUST be judged from actual size and weight. AC1-5. |
| Conditional | Focus outline width | focus.width | Dimension, unit CSS px/dp/pt per platform declaration, value > 0. Web default {value:2, unit:"CSS px"}, a product starting point. | Required when keyboard focus exists; 2px alone must not be taken to imply focus area, contrast, or visibility are satisfied. Native platform focus may use an already-verified token reference. AC2-2. |
| Optional | Focus outline offset | focus.offset | Dimension, same unit as focus.width, value ≥ 0; Web default 2 CSS px. | Used when building a custom outline; the container must not clip the outer offset, and an inner-outline implementation requires separate visibility verification. AC2-2. |
| Conditional | Focus colors | focus.colors | Object: {light, dark, forced}; the first two are colors or references, forced is a platform system-color reference. No universal default. | Required when building custom focus styles; when a single color cannot cover a complex background, use a two-layer outline and verify per background. Forced-colors mode must not rely on box-shadow alone. AC2-2, AC5-1. |
| Conditional | Minimum hit-target size | target.min | Object: {width:Dimension, height:Dimension}. Web default 24 CSS px on both axes; Android touch preset 48 dp on both axes. | Required when pointer input exists. Values below the Web baseline are accepted only after item-by-item registration and testing against the standard's specific exception, not by lowering the global default. Hit areas must not overlap. AC2-7. |
| Optional | Preferred touch target size | target.preferred | Object same as target.min; Web product default 44 CSS px on both axes, Android touch preset 48 dp on both axes; neither axis may be smaller than target.min. | Recommended for common touch operations; platform units must match before comparison. Not a mandatory threshold on every platform. AC2-7. |
| Optional | Body text starting size | text.base_size | Scalable Dimension or a platform text-style reference. Web product starting point 1 rem; Android uses sp/text style; iOS uses a platform scalable text style. | Defines no universal minimum font size; does not lock the root font size or restrict system scaling, and does not treat headings or text-in-images as a substitute for body text. AC5-2. |
| Optional | Body line height | text.line_height | Number, value > 0, unitless, expressed as a multiple of font size; product starting point 1.5. | May be adjusted by font and language; not a WCAG-mandated default, and accommodation after a spacing override must still be verified. AC5-2. |
| Optional | Standard transition duration | motion.duration | Duration, value ≥ 0, unit ms; product starting point 160 ms. | Used only for ordinary non-essential transitions. After reduced-motion resolves, replace with static/cross-fade rather than uniformly compressing to very fast motion; does not control status-message TTL or business deadlines. AC4-6. |
2.2 Input and focus
Prefix: a11y.operation
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Required | Supported input paths | paths | Non-empty enum set: keyboard/switch/voice/pointer/touch/platform_navigation. Web MUST include keyboard; no default for others; declare coverage per task. | The list is a support commitment, not a substitute for implementation; configuring voice alone does not automatically imply a keyboard or switch path holds. AC2-1. |
| Conditional | Structural-change landing point | focus.landing | Non-empty array of records: {event, target_ref, fallback_ref}; event is open_modal/close_modal/delete_current/step_change/page_change. No default. | Required for each corresponding event when that structural change exists; ref points to a control or positioning rule resolvable in the current task, and the fallback MUST be reachable. Background updates must not seize focus on this basis. AC2-4, AC2-5. |
| Conditional | Focus-restriction scope | focus.scope | Enum: non_modal/modal; default non_modal. | MUST be explicitly modal when a modal appears, and background non-interactivity, an accessible exit, and return must be verified; the enum alone does not make it effective. AC2-4. |
| Conditional | Complex-action alternative | gesture.alternatives | Non-empty array of records: {action, keyboard_ref, single_pointer_ref}; the action and both entry references must not be empty. No default. | Filled in when dragging or a complex gesture exists; the same entry may serve both types but each must be verified separately. Essentiality exceptions go into the exception record; no fabricated entries are filled in. AC2-6. |
| Conditional | Character-shortcut policy | shortcut.mode | Enum: disabled/remappable/focused_only; default disabled. | Required when character-key shortcuts exist; remappable provides an off switch or a mapping including a non-character key, focused_only restricts it to the corresponding control. Must not intercept system or assistive-technology shortcuts. AC2-8. |
2.3 Semantics and announcement
Prefix: a11y.semantics
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Required | Name-generation method | name.policy | Enum: visible_exact/visible_with_context; default visible_with_context. | When visible text exists, its word order is included; repeated actions may add object context; an icon without visible text still needs a purpose-based name. AC3-2. |
| Conditional | Status-notification routing | announcement.routes | Non-empty array of records: {event, priority, surface_ref}; priority is polite/assertive/query_only. No default. | Required when asynchronous or status messages exist; a critical result must not be query_only, assertive is limited to what needs immediate handling; surface_ref is a persistent location. Errors and final results must not be discarded by throttling. AC3-3, AC4-7. |
| Optional | Progress-aggregation window | announcement.window | Duration, value > 0, unit ms; no universal default. | Aggregates only non-critical high-frequency progress, determined by content rate and actual assistive-technology testing; must not delay urgent errors or truncate final results. AC3-3, AC3-6. |
2.4 Media and equivalents
Prefix: a11y.media
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Conditional | Caption display preference | captions.default | Enum: system/on/off; default system. | Required when a caption track exists; off controls only initial display and must not delete required captions or hide the entry for turning them on. When the system state is unknown, the product default of on is used and recorded as a fallback, not a user choice. AC1-3, AC5-1. |
| Conditional | Transcript presentation | transcript.mode | Enum: inline/adjacent_link. No default. | Required when content needing a transcript exists; a link must give direct access to accessible text, and a screenshot alone, or treating the transcript as a substitute for required captions, is not acceptable. AC1-2, AC1-3. |
| Conditional | Audio expression of visual information | description.mode | Enum: integrated_audio/selectable_track/described_media. No default. | Required when prerecorded visual information is not expressed in the audio track and the description requirement applies; that the information has actually been expressed must be verified — the mode name alone is not evidence. AC1-3. |
2.5 Time and recovery
Prefix: a11y.cognition
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Conditional | Timeout handling | timeouts | Array of records: {kind, duration, starts_on, adjustment, warning, extension, max_extensions, expires_to}. kind is auth/business; adjustment is off/adjustable/extend/exception; duration and other fields are validated per §3's conditions. No default. | Required when a time limit exists; when there is none, an empty array is allowed with an explanation. extend MUST have a warning of at least 20 s, a positive extension, and max_extensions of at least 10; other paths follow the resolution contract. Authentication and business limits are each registered separately. AC4-1. |
| Conditional | Draft retention period | draft.retention | Duration, value > 0, unit s/min/h/d, or the enum session. No universal default. | Required when a long or multi-step form exists; the start point is the last explicit edit; session means it clears at the end of the session, which MUST be disclosed in the interface and must not be used for a task claiming cross-session recovery. AC4-8. |
| Conditional | Retainable content | draft.fields | Non-empty set of field identifiers; no default; may contain only fields that actually exist in the task and are permitted to be saved. | Configured together with draft.retention; authentication secrets are prohibited from inclusion. Unlisted fields carry no recovery commitment; when a sensitive field is not retained this MUST be disclosed with a way to re-enter it. AC4-1, AC4-8. |
| Conditional | Accessible authentication paths | auth.paths | Non-empty enum set: password_manager/paste_autofill/passkey/accessible_device_confirmation/assisted_recovery. No default. | Required when authentication exists; every stage MUST have an actually completable method; listing assisted_recovery alone is not sufficient to prove ordinary authentication is usable, and identity verification must not be skipped. AC4-3. |
| Conditional | Persistent feedback location | feedback.surface | Enum: inline_result/task_history/notification_center; no default. | Required when a task produces a result; the record's subject, query access, and retention policy are stated in the implementation contract, and a toast is not treated as the sole result. AC3-3, AC4-7. |
| Optional | Rehearsal mode | rehearsal.mode | Enum: none/preview/sandbox; default none. | High-consequence tasks SHOULD choose preview or sandbox; none MUST state an alternative protection. A rehearsal has no real consequence and does not automatically convert to execution. AC4-9. |
2.6 Preference and adaptation
Prefix: a11y.preference
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Required | Motion preference | motion.mode | Enum: system/reduce/full; default system. | full represents only an explicit in-product choice and does not override a platform's non-overridable restriction; when the system state is unknown it falls back to reduce, and the user's choice must not be fabricated. Whichever tier applies, flash and automatic-activity controls are still satisfied. AC4-6, AC5-1. |
| Required | Contrast presentation preference | contrast.mode | Enum: system/standard/enhanced; default system. | An unknown value falls back to standard consistent with the adopted contrast.profile; this preference must not loosen the contrast target the product has already selected. Platform forced-colors mode takes precedence; enhanced does not mean inverted colors, nor site-wide AAA. AC1-5, AC5-1. |
| Required | In-product text scale | text.scale | Enum system or a Number in the range 1 to 2; default system. A numeric value represents the multiplier the user chose within the product, not a platform zoom ceiling. | A numeric tier affects only in-product text controls and does not limit further system/browser enlargement; it must not be multiplied together with the platform multiplier, causing accidental double scaling. AC5-1, AC5-2. |
| Required | Preference persistence scope | persistence | Enum: session/device/account; default device. | States the scope of ownership; a shared device does not automatically share an account's preferences. Account persistence requires an explicit opt-in and a clearing entry; session does not write back into long-term settings. AC5-3. |
2.7 Help and handoff
Prefix: a11y.service
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Required | Reachable help channels | help.channels | Non-empty array of records: {kind, entry_ref, needs_login, available_when}; kind is contextual_request/text/voice/callback/in_person. No default. | At least one general help channel MUST have needs_login=false and require no technical narration; the channel set MUST satisfy the declared users' sensory conditions. Personal-information service is authenticated separately. AC4-9, AC6-4, AC7. |
| Conditional | Handoff information scope | handoff.fields | Set of field identifiers; default empty set. | Required when a human or assisted handoff exists; only necessary task fields already known to the user are permitted, and the actual transfer must still be checked against this session's choice and the recipient. An empty set means no data is handed off, not that no help service exists. AC7-3, AC8-4. |
2.8 Assistance boundary
Prefix: a11y.assist
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Required | Supported assistance capability | mode | Enum: none/view/operate; default none. | Both view and operate MUST implement identity disclosure, termination, privacy masking, and real revocation; none does not mean the user needs no help. AC8-1. |
| Conditional | Grantable assistance actions | scope | Set of action enums: view_task/fill_fields/navigate/submit_non_reserved. Default empty set. | Filled in when assist.mode is not none; view mode may contain only view_task. This is the upper bound the product allows to be granted, not actual authorization; decisions belonging to the person — payment, signing, authorization — cannot be released on this basis. AC8-2, AC8-3. |
| Conditional | Maximum assistance duration | ttl | Positive Duration, or the enum task; default task. | Filled in when assist.mode is not none; counted from the person's approval, it expires no later than task end, revocation, disconnection, or timeout, and must not silently renew. A backend mechanism is required to enforce it. AC8-1, AC8-2. |
2.9 Consequence and receipt
Prefix: a11y.integrity
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Conditional | Confirmation mechanism | confirmation.policy | Array of records: {action, impact, reversibility, mechanism}; impact is low/high; reversibility is immediate/limited/manual/none; mechanism is undo/review/explicit_confirmation. No default. | Required when an operation changes external state; the combination must match the consequence. A high-impact or standing arrangement must not omit necessary facts and an explicit decision merely because it is reversible; an unknown fact is not classed as low. AC4-7, AC9-2 through AC9-5. |
| Conditional | Operation-receipt location | receipt.surface | Enum: inline_result/task_history; no default. | Required when a submission, payment, authorization, or assistance operation exists; state not-executed, submitted, completed, or pending-verification according to the actual facts, and retain a query entry. AC8-5, AC9-2. |
2.10 Verification scope
Prefix: a11y.assurance
| Level | Design decision | Field | Type, legal values, and default | Applicable conditions, dependencies, and constraints |
|---|---|---|---|---|
| Required | Adopted judgment target | profile | Enum: web_aa/platform/mixed; Web default web_aa, no default for others. | platform and mixed MUST state the platform and applicable criteria in the basis record; mixed must not substitute native results for Web results. Selecting a target produces no pass conclusion. AC6-1. |
| Required | Critical task scope | tasks | Non-empty set of task identifiers; no default. | Task identifiers associate with a start point, end point, and success condition; sign-in, edit, recovery, cancellation, and help-seeking are included per actual capability. References the task definition; test results are not stored as tokens. AC6-2. |
| Required | Target verification environments | environments | Non-empty set of environment identifiers; no default. | Environment records include reproducible information on platform, browser, assistive technology, input, language, settings, and test date; an untested combination remains unverified. AC6-2, AC6-4. |
3. Dependencies and fixed baselines
| Capability or configuration | Must hold together with | If not satisfied |
|---|---|---|
| Any complete task | operation.paths, semantics, help, task scope, and environment scope are explicit | "Tool passed" or complete fields are not accepted as evidence a task has passed |
| Custom-built visual control | Color pairs, focus style, and target-size applicable items are all present | Retain the usable native style or fix the issue; do not remove a focus patch and keep publishing the defect |
| Dragging or complex gestures | Both entries of gesture.alternatives are actually usable | Disable the problematic enhanced interaction and retain the usable base operation |
| Modal | focus.scope=modal, opening and closing landing points, background isolation, exit control | Displaying only an overlay does not count as an implemented modal |
| Asynchronous or streaming content | Status routing, a persistent location; a validated aggregation policy for high-frequency progress | Retain critical-result notification; a message must not be silently dropped for lack of a throttling configuration |
| Authentication and time-limited flows | Each stage's authentication path, time limit, and expiry disposition are complete | Do not open a required authentication step that cannot be completed; an expired credential must not continue to be used |
| Multi-step input and recovery | Draft fields, retention period, save mechanism, and recovery entry are consistent | Do not claim auto-save; fix it or provide a clearly usable alternative |
| Remote assistance | mode, scope, ttl, termination, masking, actual authorization, and receipt are all present | Do not connect/operate without actual authorization; a product preset must not substitute for the person's approval |
| External submission or standing arrangement | Confirmation policy, complete facts, this session's decision, query receipt, and stop mechanism | Retain a draft or preview; an unknown fact is not treated as success |
| Product usability claim | Rule checks, assistive-technology operation, real-user tasks, and scope limitations each have evidence | Write untested scope as unverified; a known failure must not be hidden by shrinking the statistical denominator |
The following requirements cannot be turned off by configuration: equivalent paths for information and tasks, correct semantics, keyboard focus that is visible and trap-free, applicable alternatives for complex actions, minimum visual baselines, necessary results being obtainable, real authorization, no manipulation into commitments, preferences not being hijacked, and acceptance with independent help and a truthful scope. The prohibition list and the standard success criteria are constraints, not a token set from which a few items may be left unselected.
Conditional validation for timeout records
cognition.timeouts is an operational policy, not a uniform "session seconds":
off: this time limit does not apply;duration/warning/extension/max_extensionsare all omitted, and 0 must not be filled in to mean disabled.adjustable:durationis the initial value, with an additionaladjustment_range(min/maxpositive durations) allowing prior adjustment across a range at least ten times the default, validated against the applicable conditions of SC 2.2.1; the extension-warning fields are not filled in.extend:duration,warning,extension, andmax_extensionsare all required. The warning is issued before expiry, the response window is no less thanwarning, at least 20 seconds and at least 10 extensions must be given. The actual duration must accommodate the warning window; an invalid combination such as a 10-second time limit with a 20-second warning must not occur.exception:durationis required, and the additionalexception_refMUST point to a specific standard exception and necessity evidence; a missing interface capability must not be written up as an exception. It must still state how permitted content is saved and recovered after expiry.
Every tier MUST have kind / starts_on / adjustment / expires_to; expires_to is reauthenticate/stop_and_save/end_without_sensitive_draft. Authorization MUST NOT continue to be held after authentication expires; end_without_sensitive_draft must not be used to delete non-sensitive work that could still be safely retained. The draft retention period is controlled by an independent field.
4. Configuration and implementation example for a form task
The following is a partial configuration excerpt for a Web form, not a full product preset, and does not itself constitute proof of usability. Applicable required items that are omitted must be resolved by the product preset; media, gesture, remote-assistance, and other unused capabilities should be stated in the applicability record. The 5 minutes and 1 day in the example are product choices made to demonstrate the semantics and must be adjusted according to actual task testing.
{
"a11y.visual.contrast.profile": "web_aa",
"a11y.visual.color.pairs": [
{"id": "body.light", "foreground": "#1F2937", "background": "#FFFFFF", "usage": "text", "state": "default"},
{"id": "body.dark", "foreground": "#F9FAFB", "background": "#111827", "usage": "text", "state": "default"}
],
"a11y.visual.focus.width": {"value": 2, "unit": "CSS px"},
"a11y.visual.focus.offset": {"value": 2, "unit": "CSS px"},
"a11y.visual.focus.colors": {"light": "#005FCC", "dark": "#FFDD00", "forced": "Highlight"},
"a11y.visual.target.min": {"width": {"value": 24, "unit": "CSS px"}, "height": {"value": 24, "unit": "CSS px"}},
"a11y.visual.target.preferred": {"width": {"value": 44, "unit": "CSS px"}, "height": {"value": 44, "unit": "CSS px"}},
"a11y.operation.paths": ["keyboard", "pointer", "touch"],
"a11y.semantics.name.policy": "visible_with_context",
"a11y.semantics.announcement.routes": [
{"event": "save_success", "priority": "polite", "surface_ref": "application.result"},
{"event": "save_failed", "priority": "polite", "surface_ref": "application.error_summary"}
],
"a11y.cognition.timeouts": [
{
"kind": "auth",
"duration": {"value": 5, "unit": "min"},
"starts_on": "authentication_succeeded",
"adjustment": "extend",
"warning": {"value": 30, "unit": "s"},
"extension": {"value": 5, "unit": "min"},
"max_extensions": 10,
"expires_to": "reauthenticate"
}
],
"a11y.cognition.draft.retention": {"value": 1, "unit": "d"},
"a11y.cognition.draft.fields": ["application.subject", "application.description"],
"a11y.cognition.auth.paths": ["password_manager", "paste_autofill"],
"a11y.cognition.feedback.surface": "inline_result",
"a11y.preference.motion.mode": "system",
"a11y.preference.contrast.mode": "system",
"a11y.preference.text.scale": "system",
"a11y.preference.persistence": "device",
"a11y.assist.mode": "none",
"a11y.assurance.profile": "web_aa",
"a11y.assurance.tasks": ["application.submit", "application.correct", "application.resume", "application.help"],
"a11y.assurance.environments": ["desktop.keyboard", "desktop.screen_reader", "mobile.screen_reader", "desktop.zoom"]
}
Reference-resolution requirements: application.result and application.error_summary point to accessible persistent regions; task and environment IDs MUST exist in the project registry. The environment names in the example only illustrate the classification — the actual record must have reproducible device and software identifiers and settings, not merely "screen reader tested." The color pairs cover only the listed body-text states and do not prove every control, focus style, and theme has passed.
Web mapping of presentation values
The following CSS demonstrates partial consumption of focus, hit area, and reduced motion. Only controls bound to .a11y-control use this target size; inline links and similar contexts are handled per the applicable criteria. Normal light and dark backgrounds must each match their color values separately, with complex backgrounds tested independently.
:root {
--a11y-focus-width: 2px;
--a11y-focus-offset: 2px;
--a11y-focus-color: #005fcc;
--a11y-target-preferred: 44px;
--a11y-motion-duration: 160ms;
}
[data-theme="dark"] { --a11y-focus-color: #ffdd00; }
.a11y-control {
min-inline-size: var(--a11y-target-preferred);
min-block-size: var(--a11y-target-preferred);
}
.a11y-control:focus-visible {
outline: var(--a11y-focus-width) solid var(--a11y-focus-color);
outline-offset: var(--a11y-focus-offset);
}
.optional-motion { transition-duration: var(--a11y-motion-duration); }
[data-motion="reduce"] .optional-motion {
animation: none;
transition: none;
transform: none;
}
@media (prefers-reduced-motion: reduce) {
:root:not([data-motion="full"]) .optional-motion {
animation: none;
transition: none;
transform: none;
}
}
@media (forced-colors: active) {
.a11y-control {
border: 1px solid ButtonText;
forced-color-adjust: auto;
}
.a11y-control:focus-visible { outline-color: Highlight; }
}
data-motion comes from the resolved preference. The example class is used only for decorative motion that can be removed and must not be applied directly to business controls whose positioning depends on transform. State, error, and progress are expressed with independent text and semantics, not dependent on an animation-end event to appear. Reduced-motion JavaScript behavior must also be kept in sync — the CSS excerpt does not control all motion.
5. Configuration acceptance
Inputs that must be rejected
| Erroneous example | Reason for rejection and handling |
|---|---|
target.min=16 CSS px with no item-by-item exception | The Web baseline is loosened globally; restore a valid size or verify a specific exception |
target.preferred in dp while target.min is in CSS px | Not directly comparable; select the platform first and resolve units correctly |
announcement.routes sets an error to query_only | A critical result must not merely wait for the user to look for it; set an appropriate notification and persistent location |
auth.paths=[] while sign-in is a required step | The authentication dependency is missing; a completable path MUST be implemented |
assist.mode=operate, scope=[fill_fields], operated on directly on this basis | The configuration is only an upper bound; without this session's authorization from the person, it must not be executed |
timeouts set to extend with warning=5s | Does not satisfy the adopted extend path; add sufficient response time or use another valid path |
draft.fields includes a password or verification code | Authentication secrets must not enter a recoverable draft |
text.scale=2 treated as the browser zoom ceiling | The configuration controls only the in-product multiplier and must not block further user enlargement |
After a system read failure, motion.mode is saved as the user's chosen reduce | Confuses fallback with preference; retain the unknown reason and the fallback source |
Writing passed=true with a configuration field | No such field exists in the dictionary; operational evidence and acceptance conclusions are recorded separately |
From configuration to evidence
- Statically validate fields, enums, units, references, ranges, and dependencies; this is a configuration-correctness check.
- Observe in the running interface whether focus, semantics, content, authorization, and state match the resolved values; the parameters themselves cannot implement these mechanisms.
- Walk the normal, failure, interruption, recovery, and rejection paths with real assistive-technology combinations, and record the actual output.
- Have target users verify whether the task can be completed and the result understood; this cannot be replaced by valid JSON, a passing CSS build, or zero errors from an automated tool.
For the selected values and exceptions for body-text scaling, reflow, text-spacing overrides, contrast, focus obscuring, and target size, see Design Guidelines Appendix A. Fixed requirements are determined by the standards and by these guidelines; the project records only the adopted target and evidence, and provides no "turn off accessibility" configuration profile.
Configuration delivery and validation
A legal value for focus width does not prove the focus is actually visible. The product still needs to verify outline area, foreground-background, clipping, obscuring, and forced-colors mode; this example checks only a bounded positive size and an explicit unit. Platform units are not auto-converted; actual task testing and design-value validation are recorded separately.
The accompanying executable sample covers only a11y.visual.focus.width; every other field is validated against this dictionary item by item — being uncovered does not mean not applicable or already passed. The sample is a positive/negative format example for the selected field, not a product preset that directly enables every capability. A complete product delivery additionally includes applicability, dependencies, evidence, execution mapping, and the effective boundary of in-progress operations.
When a field's name, type, or meaning changes, update the referencing parties and the acceptance sample; an edit that only clarifies wording without changing legal behavior keeps the existing field name. Callers read the resolved effective configuration and do not back-infer authority, measurements, or completion facts from UI controls, animations, or model text. See the corresponding scenarios.
References
This document records the external basis used for the rules and parameters in this directory. Sources are divided into formal standards, official explanations and patterns, platform guidelines, and supplementary research guidance. The standard identifiers in the links are used to precisely locate the criteria.
Verification scope: The materials below were opened and the topics used were checked against them; no assistive-technology operation, real-user task testing, or legal conformance assessment was performed on any specific product. W3C Understanding documents are explanatory material; the normative force of a success criterion comes from the WCAG normative text itself. APG examples need to be verified against actual browser and assistive-technology combinations. A page being openable does not mean every example in it has been tested.
1. Standard objectives
Web Content Accessibility Guidelines (WCAG 2.2) is the formal source for the baseline Web objectives. Adopting the AA target requires satisfying all applicable A and AA success criteria and conformance requirements — not merely passing the selected checks listed in this directory. Full pages, full processes, technologies relied upon, and non-interference requirements must still be checked against the standard.
Some requirements in the main text are stronger than the standard's selected baseline — for example, that necessary operation targets be fully visible, that basic tasks receive real-user acceptance, and that the person retains the decision during an assisted session. These are explicitly product design choices of these guidelines and must not be described as verbatim WCAG requirements for all products.
2. Perception, media, and visual criteria
| Official source | Knowledge point adopted by this directory | Boundary of use |
|---|---|---|
| Contrast (Minimum), SC 1.4.3 | Different contrast baselines for normal text versus large text; large-text size and exceptions | Test foreground-background combinations, not isolated colors; pt and CSS px are not mixed |
| Contrast (Enhanced), SC 1.4.6 | Enhanced text-contrast target | This directory's enhanced color tokens are not a claim of overall AAA conformance |
| Non-text Contrast, SC 1.4.11 | Distinguishability of meaningful controls and graphics against adjacent colors | Not all decorative borders are folded into the same threshold |
| Resize Text, SC 1.4.4 | Text enlargement with function preserved | Tested separately from reflow and spacing overrides |
| Reflow, SC 1.4.10 | Narrow-viewport reflow and the exception for content that genuinely requires two-dimensional layout | A partial exception does not exempt the whole page |
| Text Spacing, SC 1.4.12 | Content accommodation after the user adjusts spacing | Not a mandatory default typography value; tested against the properties applicable to the writing system |
| Captions (Prerecorded), SC 1.2.2 | Captions and meaningful sounds for prerecorded video with audio | Captions and transcripts serve different purposes; actual synchronization must be checked |
| Captions (Live), SC 1.2.4 | Captions for live synchronized media | Declaring delay or quality limitations does not automatically grant exemption |
| Audio Description (Prerecorded), SC 1.2.5 | Audio description of prerecorded visual information | The applicable AA requirement cannot be uniformly replaced with a transcript |
| Three Flashes or Below Threshold, SC 2.3.1 | Flash-rate or below-threshold determination | Not judged by frequency alone; this document's default of using no flashing is a product choice |
| CSS Color Adjustment: Forced Colors | System forced-colors mode, system colors, and author-style adaptation | Borders and focus are preserved; custom shadows and background colors are not guaranteed to still display |
3. Operation, focus, and semantics
| Official source | Knowledge point adopted by this directory | Boundary of use |
|---|---|---|
| Keyboard, SC 2.1.1 | Keyboard-interface operability and the exception for input whose underlying path is essential | Not a requirement that every static element enter the Tab sequence |
| Dragging Movements, SC 2.5.7 | Single-pointer no-dragging alternative | Holds independently of the keyboard requirement; the two cannot offset each other |
| Target Size (Minimum), SC 2.5.8 | 24 CSS px minimum target size and its various exceptions | Spacing is judged geometrically, not by uniformly adding fixed padding |
| Pointer Cancellation, SC 2.5.2 | Down-event versus up-event, abort, and the essential exception | Executing the action on every pointerdown cannot be exempted on grounds of "faster response" |
| Focus Not Obscured (Minimum), SC 2.4.11 | A focused component must not be entirely obscured by author content | This directory's target of full visibility is stronger than this AA minimum requirement |
| Focus Appearance, SC 2.4.13 | Focus-indicator area and contrast before/after focus | This is an AAA-level criterion; a 2px style alone does not prove it is met |
| Character Key Shortcuts, SC 2.1.4 | Character-key shortcuts can be turned off, remapped, or restricted to an active scope | Check especially for conflicts between dictation input and global shortcuts |
| Content on Hover or Focus, SC 1.4.13 | Additional content can be dismissed, is hoverable, and persists | Handled per the standard's conditions and exceptions; not every browser-native tooltip is treated as author-created overlay content |
| APG: Read Me First | A role is a behavioral promise; incorrect ARIA misleads; examples require compatibility testing | Adding a role alone does not automatically add keyboard operation; pattern code is not treated as proof of actual testing |
| Status Messages, SC 4.1.3 | Status messages that do not move focus can be recognized by assistive technology | Not a requirement that every interface update be spoken aloud; assistive technology is not guaranteed to announce it immediately |
| Language of Parts, SC 3.1.2 | The language of a necessary passage is determinable, with exceptions such as proper names | The language attribute is not treated as proof of translation quality or cultural adaptation |
| Orientation, SC 1.3.4 | Device orientation is not restricted without necessity | Scenarios where it is essential to function must be documented; a portrait-only mockup alone does not justify the restriction |
4. Cognition, authentication, and acceptance
| Official source | Knowledge point adopted by this directory | Boundary of use |
|---|---|---|
| Timing Adjustable, SC 2.2.1 | Turn off, adjust in advance, extend, and the applicable exceptions | The 20 seconds and ten-times extension correspond to specific paths only, not a universal timeout value |
| Redundant Entry, SC 3.3.7 | Information already provided earlier in the same process is auto-populated or selectable | The exceptions for necessity, security, and information no longer valid must be checked case by case |
| Accessible Authentication (Minimum), SC 3.3.8 | Cognitive-function tests in authentication, assistive mechanisms, and coverage across multi-step flows | Password managers and pasting can help complete it; an exception permitted by the minimum criterion does not mean it is usable by everyone |
| Pause, Stop, Hide, SC 2.2.2 | Control over automatic movement and updates | Activity type, duration, and necessity are each checked separately |
| Audio Control, SC 1.4.2 | Control over automatically playing sound | Muted-by-default is a product choice, not the only way to implement this criterion |
| Error Prevention, SC 3.3.4 | Checking, reversibility, or confirmation protection for legal, financial, and data operations | Not a requirement to add multiple confirmations to every low-risk action |
| Consistent Help, SC 3.2.6 | The relative order of repeated help mechanisms stays consistent | This directory's requirement for an effective path to service is broader, and is a product design choice |
| Making Content Usable for People with Cognitive and Learning Disabilities | Comprehension, focus, memory load, error correction, and research participation | Supplementary guidance, not an added WCAG conformance criterion; no unified cognitive score is derived from it |
| Involving Users in Evaluating Web Accessibility | Involving disabled users in evaluation, combined with standards-based evaluation | User tasks and rule checks are complementary; a small sample does not prove every user can complete the task |
| Android: Make apps more accessible | 48 dp touch targets, semantic descriptions, contrast, and testing | This is a platform guideline; dp is not directly converted to Web CSS px |
5. Product choices and content still needing validation
The following are design judgments, not packaged as external standard facts:
- Acceptance is by complete task; a severe blocker cannot be offset by an average score. The specific population, scale, and environment for real-task testing are designed by the product according to its service scope.
- Web touch target 44 CSS px, focus outline 2 CSS px, offset 2 CSS px, body-text starting point 1 rem, line-height starting point 1.5, and transition 160 ms are preset starting points. They are not universal optimal values, nor do they constitute overall conformance.
- The priority, aggregation window, and persistent receipt of status announcements are implementation policy; they must be verified under real assistive technology, not checked by HTML attributes alone.
- Not charging for settings, not reducing functionality based on presumed capability, keeping the decision with the person, the duration and masking of assistance, and not making the cancellation path harder, are product requirements explicitly adopted by these guidelines; this does not mean all of these requirements are WCAG clauses.
- Screenless devices, multiple sensory disabilities, the in-flight state of assistance being withdrawn, low-bandwidth recovery, and cross-language comprehension need actual testing on the specific product; results cannot be inferred from a generic parameter table.
- The sample JSON and CSS only demonstrate the relationship between configuration and consumption; there is no acceptance evidence from a running product, user sample, or live service.
The Apple Accessibility guidelines returned only a page requiring JavaScript on this read, so no specific Apple dimensions or thresholds are cited on that basis. iOS implementation must have its official basis and actual platform behavior checked against readable sources by the project. This directory has not verified the legal or industry-certification requirements of any jurisdiction, and does not support mandatory requirements with statutory text, full research papers, or statistics that were not obtained.