UCDL Accessibility Use Case Definition Language
Contents

Writing Accessibility Use Case Tests with @afixt/usecase-runner

Use case files use the .uc.yaml extension. Each file defines one use case with this structure:

id: unique-kebab-case-id
title: 'Human-readable title'
type: positive # positive, negative, or extension
description: 'What this test verifies'

preconditions:
  - 'Condition that must be true before the test starts'
  - 'Another precondition'

start_location: 'https://your-app.com/page'

expected_result: 'What should happen when all steps pass'

data:
  variable_name: 'value'
  another_variable: 'another value'

steps:
  - keyword: target "name"
  - keyword: target "name" modifier value
Field Description
id Unique identifier in kebab-case. Used for filenames and cross-references.
title Human-readable name shown in reports.
type positive (happy path) or negative (error path). Composition is extends:.
preconditions List of conditions assumed true before running. Can be [] if none.
start_location The URL where the test begins. The runner navigates here before step 1.
expected_result What should be true when the test passes. Used in reporting only.
steps The ordered list of actions and assertions.
Field Description
description Longer explanation of what the test covers.
data Key-value pairs referenced in steps via {{ variable_name }}.