test(timetable): axe-core zero-violation a11y enforcement (Step 11)
Three jsdom axe scans covering the user-facing surface of the canvas.
The scans surfaced two real a11y bugs which are fixed in this same
commit:
1. PerformancePopover — VProgressLinear (advancing aggregate) had no
accessible name. Added aria-label that announces "X van Y secties
afgerond (N%)".
2. AddPerformanceDialog — the icon-only close button (×) was missing
aria-label. Added 'Sluiten'.
Test scenarios:
- PerformanceBlock with focus
- PerformancePopover open
- AddPerformanceDialog open
Page-level axe rules (region, page-has-heading-one, landmark-one-main,
color-contrast) are disabled for fragment scans — they only make sense
on a full page, and color-contrast resolution is jsdom-blind. Both are
covered by Playwright CT in TEST-INFRA-001 / TEST-VISUAL-001.
Test count: 380 → 383.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -117,6 +117,7 @@ defineExpose({ form, errors, submit })
|
||||
icon="tabler-x"
|
||||
variant="text"
|
||||
size="small"
|
||||
aria-label="Sluiten"
|
||||
@click="emit('update:modelValue', false)"
|
||||
/>
|
||||
</VCardTitle>
|
||||
|
||||
@@ -113,6 +113,7 @@ function close(): void {
|
||||
</div>
|
||||
<VProgressLinear
|
||||
:model-value="advancing.pct"
|
||||
:aria-label="`Advancing voortgang: ${advancing.done} van ${advancing.total} secties afgerond (${advancing.pct}%)`"
|
||||
color="primary"
|
||||
height="6"
|
||||
rounded
|
||||
|
||||
Reference in New Issue
Block a user