Accessibility
incubatingStatus of this Document
This report was published by the User Journal Graph Community Group . It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups .
Status: incubating supported extension for accessibility metadata on UJG nodes.
This page provides an exploratory payload shape for accessibility concerns such as labels, focus behavior, live-region announcements, and ARIA-style hints. The schema and examples below are informative brainstorming material, not normative conformance artifacts.
1. Namespace
Canonical namespace string:
https://ujg.specs.openuji.org/ed/extensions/a11yPayload location:
extensions["https://ujg.specs.openuji.org/ed/extensions/a11y"]
2. Scope
Applicable UJG objects:
NodeLikely attachment points:
ExperienceStep,Touchpoint,PainPoint
3. Exploratory JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ujg.specs.openuji.org/ed/extensions/a11y/schema",
"title": "UJG Accessibility Extension Payload",
"type": "object",
"additionalProperties": false,
"properties": {
"version": { "type": "string" },
"label": { "type": "string" },
"description": { "type": "string" },
"role": { "type": "string" },
"focusOrder": { "type": "integer", "minimum": 0 },
"reducedMotion": { "type": "boolean" },
"highContrast": { "type": "boolean" },
"keyboardShortcuts": {
"type": "array",
"items": { "type": "string" }
},
"liveRegion": {
"type": "object",
"additionalProperties": false,
"properties": {
"politeness": {
"type": "string",
"enum": ["off", "polite", "assertive"]
},
"messageKey": { "type": "string" }
}
},
"aria": {
"type": "object",
"additionalProperties": {
"type": ["string", "number", "boolean"]
}
}
},
"required": ["label"]
} {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ujg.specs.openuji.org/ed/extensions/a11y/schema",
"title": "UJG Accessibility Extension Payload",
"type": "object",
"additionalProperties": false,
"properties": {
"version": { "type": "string" },
"label": { "type": "string" },
"description": { "type": "string" },
"role": { "type": "string" },
"focusOrder": { "type": "integer", "minimum": 0 },
"reducedMotion": { "type": "boolean" },
"highContrast": { "type": "boolean" },
"keyboardShortcuts": {
"type": "array",
"items": { "type": "string" }
},
"liveRegion": {
"type": "object",
"additionalProperties": false,
"properties": {
"politeness": {
"type": "string",
"enum": ["off", "polite", "assertive"]
},
"messageKey": { "type": "string" }
}
},
"aria": {
"type": "object",
"additionalProperties": {
"type": ["string", "number", "boolean"]
}
}
},
"required": ["label"]
} 4. Example
{
"@id": "https://example.com/steps/payment",
"@type": "ExperienceStep",
"extensions": {
"https://ujg.specs.openuji.org/ed/extensions/a11y": {
"version": "0.1.0",
"label": "Payment details",
"description": "Enter card details and review the secure-payment summary.",
"role": "form",
"focusOrder": 3,
"reducedMotion": true,
"highContrast": true,
"keyboardShortcuts": ["Alt+P"],
"liveRegion": {
"politeness": "polite",
"messageKey": "payment.status.update"
},
"aria": {
"aria-describedby": "payment-help",
"aria-busy": false
}
}
}
} {
"@id": "https://example.com/steps/payment",
"@type": "ExperienceStep",
"extensions": {
"https://ujg.specs.openuji.org/ed/extensions/a11y": {
"version": "0.1.0",
"label": "Payment details",
"description": "Enter card details and review the secure-payment summary.",
"role": "form",
"focusOrder": 3,
"reducedMotion": true,
"highContrast": true,
"keyboardShortcuts": ["Alt+P"],
"liveRegion": {
"politeness": "polite",
"messageKey": "payment.status.update"
},
"aria": {
"aria-describedby": "payment-help",
"aria-busy": false
}
}
}
}