UCDL Accessibility Use Case Definition Language
Contents

Accessibility Use Case Definition Language (UCDL) and Runner

This section is normative.

Use case. A description of a single, goal-oriented workflow, identified by an id, with a title, a start_location, an expected_result, and an ordered sequence of steps.

Step. A single instruction within a use case. Every step has a keyword (see §5.1) and zero or more arguments and modifiers.

Target. The element a step acts upon. A target is identified by a role token (see §5.4) and an accessible name, and optionally by a scope (see §5.5).

Accessible name. As defined in [WAI-ARIA] and the [HTML AAM]: the string exposed to assistive technology as the name of the element. UCDL targets match against the accessible name as computed by the user agent and exposed through Playwright's getByRole({ name }), getByLabel(), or getByText() queries.

Effective data map. The merged map produced by combining: external data files (see §12.2) ⊂ parent data (for extension cases) ⊂ own data ⊂ data overrides supplied at runtime (e.g., --set on the CLI). Later sources override earlier sources.

Resolved use case. A use case whose extends chain has been fully followed, whose data block has been merged, whose template variables have been interpolated, and whose steps_override (if any) has been applied. All references to "use case" in §§5–11 refer to the resolved form unless stated otherwise.

Processor. A program that consumes a use case document and produces a parse tree, a Playwright artifact, an execution result, or a report.

User agent. The browser instance under test, controlled via Playwright.

Engine. A separate scanner — specifically @afixt/afixt-engine — invoked by the audit keyword.