-
Notifications
You must be signed in to change notification settings - Fork 0
VPR-104 fix(a11y): ClinicalScheduler, CMS, Computing, CAHFS accessibility (PR 6 of 6) #146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: VPR-104-accessibility-audit-base
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -2,7 +2,12 @@ | |||||||||||||||||||||||
| <q-card | ||||||||||||||||||||||||
| :class="cardClasses" | ||||||||||||||||||||||||
| clickable | ||||||||||||||||||||||||
| tabindex="0" | ||||||||||||||||||||||||
| role="group" | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
| role="group" | |
| role="button" |
Copilot
AI
Apr 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keyboard activation is handled on keyup, including Space. For non-native buttons, Space’s default page scroll typically occurs on keydown, so preventing only keyup may not stop scrolling and can make activation unreliable. Prefer handling Enter/Space on keydown (and preventDefault there) to align with ARIA button behavior.
| @keyup.enter.self.prevent="handleClick" | |
| @keyup.space.self.prevent="handleClick" | |
| @keydown.enter.self.prevent="handleClick" | |
| @keydown.space.self.prevent="handleClick" |
Copilot
AI
Apr 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WeekCell’s new keyboard interaction (Enter/Space activation on the card) is important a11y behavior but isn’t covered by tests. Given the existing Vitest suite under VueApp/src/ClinicalScheduler/__tests__, consider adding a component test that verifies keyboard activation triggers the same emit/click behavior and that Space does not scroll the page (preventDefault).
Copilot
AI
Apr 11, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-webkit-text-stroke is non-standard and isn’t supported in Firefox for font-based icons, so the contrast ‘outline’ may not appear for a portion of users. Consider a more cross-browser approach (e.g., text-shadow outline, swapping to an outlined SVG/icon variant, or adding a contrasting background) so the WCAG contrast improvement applies consistently.
| -webkit-text-stroke: 1px var(--ucdavis-black-80); | |
| paint-order: stroke fill; | |
| text-shadow: | |
| -1px 0 0 var(--ucdavis-black-80), | |
| 1px 0 0 var(--ucdavis-black-80), | |
| 0 -1px 0 var(--ucdavis-black-80), | |
| 0 1px 0 var(--ucdavis-black-80), | |
| -1px -1px 0 var(--ucdavis-black-80), | |
| 1px -1px 0 var(--ucdavis-black-80), | |
| -1px 1px 0 var(--ucdavis-black-80), | |
| 1px 1px 0 var(--ucdavis-black-80); |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,4 @@ | ||
| @await Component.InvokeAsync("CMSBlocks", new {friendlyName = "computing-home"}) | ||
| @{ | ||
| ViewData["Title"] = "Computing"; | ||
| } | ||
| @await Component.InvokeAsync("CMSBlocks", new {friendlyName = "computing-home"}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same cross-browser concern here:
-webkit-text-strokewon’t apply in Firefox for font icons, so the star may still fail contrast there. Consider a more broadly supported outlining technique (e.g., text-shadow) or a different icon treatment that maintains contrast across browsers.