packages/compliance/a11y/VPAT-template.md
Date: {{Month DD, YYYY}}
| Field | Value |
|---|---|
| Product Name | {{Product name}} |
| Product Version | {{Version / branch / commit}} |
| Report Date | {{YYYY-MM-DD}} |
| Contact | {{link text}} |
| Evaluation Methods | {{Internal / external audit; tools; OS; browser; AT}} |
| Applicable Standard | WCAG 2.1 Level AA |
| Page | URL | Title |
|---|---|---|
| {{Page name}} | {{/...}} | {{<title>}} |
| Page | URL | Title |
|---|---|---|
| {{Page name}} | {{/...}} | {{<title>}} |
| Page | URL | Title |
|---|---|---|
| {{Page name}} | {{/...}} | {{<title>}} |
| Term | Definition |
|---|---|
| Supports | Fully meets the criterion |
| Partially Supports | Some content meets, some gaps remain |
| Does Not Support | Significant failures |
| Not Applicable | Feature or content type does not exist in the product |
Conformance Level: {{Supports / Partially Supports / Does Not Support / Not Applicable}}
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
Conformance Level:
Remarks:
A public Accessibility Statement is available on the {{Product name}} website, declaring conformance goals, known limitations, and contact information for accessibility feedback.
| Criterion | Issue | Affected Pages |
|---|---|---|
| Criterion | Issue | Affected Pages / Components |
|---|---|---|
| Criterion | Issue | Affected Pages / Components |
|---|---|---|
When a product includes a video or audio player, check against the de-facto standard shortcut set used by YouTube, Vimeo, Able Player, Video.js, OzPlayer, and native <video controls>:
| Key | Action |
|---|---|
Space / K | Play-pause |
← / → | Seek −5 s / +5 s |
Shift+← / Shift+→ | Fine seek (±1 s or per frame) |
PageUp / PageDown | Seek ±10 s |
Home / End | Jump to start / end |
↑ / ↓ | Volume ±5 % |
M | Mute toggle |
F | Fullscreen toggle |
C | Captions toggle |
< / > | Playback rate down / up |
Related WCAG criteria: 2.1.1 Keyboard, 2.1.4 Character Key Shortcuts (provide a mechanism to turn off or remap), 4.1.2 Name, Role, Value (sliders), 4.1.3 Status Messages (announce seek / volume / mute changes).
Slider requirements for seek and volume controls: role="slider" with aria-valuemin, aria-valuemax, aria-valuenow, and aria-valuetext (for human-readable time / percentage). Arrow keys on a focused slider natively adjust aria-valuenow by 1. Container should be focusable (tabindex="0") and announce its purpose via aria-label.
References: