diff options
| author | Ben Sima <ben@bensima.com> | 2025-11-27 19:02:10 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bensima.com> | 2025-11-27 19:02:10 -0500 |
| commit | fc84d75d38834417f8c9a27e7826a51a391644e5 (patch) | |
| tree | 7d1294279c41d72ecc64347fdfb85968ca7910f0 /Omni/Task/Core.hs | |
| parent | ebc281f90389da3b064bb14888e7c4f81ae4df17 (diff) | |
Ensure keyboard accessibility for status badge dropdown
The implementation is complete. Here's a summary of the keyboard
accessi
**Changes to Omni/Jr/Web.hs:** 1. Added `statusDropdownJs` - JavaScript
functions for keyboard handling
- `toggleStatusDropdown()` - Opens/closes dropdown, updates
aria-expa - `closeStatusDropdown()` - Closes dropdown, returns focus
to trigger - `handleStatusKeydown()` - Handles Enter/Space (toggle),
Escape (clo - `handleMenuItemKeydown()` - Handles ArrowUp/ArrowDown
(navigate), E - Click-outside handler to close open dropdowns
2. Updated `clickableBadge`:
- Added `tabindex="0"` for keyboard focusability - Added
`role="button"` for screen readers - Added `aria-haspopup="true"`
and `aria-expanded="false"` - Changed onclick to use
`toggleStatusDropdown()` function - Added `onkeydown` handler
3. Updated `statusDropdownOptions`:
- Added `role="menu"` and `aria-label` for accessibility
4. Updated `statusOption`:
- Added `role="none"` on form wrapper - Added `role="menuitem"`
on button - Added `tabindex="-1"` (focus managed by JS) - Added
`onkeydown` handler
**Changes to Omni/Jr/Web/Style.hs:** - Added focus styles
for `.status-dropdown-option:focus` - Added focus styles for
`.status-badge-clickable:focus`
Task-Id: t-157.3
Diffstat (limited to 'Omni/Task/Core.hs')
0 files changed, 0 insertions, 0 deletions
