server
server copied to clipboard
fix(sharing): migrate QuickShareSelect to NcActions
- ⚠️ Requires
@nextcloud/[email protected] - Resolves: https://github.com/nextcloud/server/issues/43139
Summary
The current custom quick share select implementation has a number of a11y issues:
- The toggle button
- is not focusable
- has no button role
- has no
aria-expanded="false"
- The menu has popup role, better to have menu or select semantics
- Selected button is marked by
aria-selectedonly ontrue, which is not allowed here and should hasfalsevalue - Keyboard navigation works, but the best is if Tab moves to the next UI element instead of the next option in the list
Having all of that, it seems that moving to NcActions with menu + menuitemradio semantics and some custom styles for the trigger is the best and easiest way to fix all a11y issues.
Screenshots
| 🏚️ Before | 🏡 After |
|---|---|
Checklist
- Code is properly formatted
- Sign-off message is added to all commits
- [ ] Tests (unit, integration, api and/or acceptance) are included
- [x] Screenshots before/after for front-end changes
- [x] Documentation (manuals or wiki) has been updated or is not required
- [ ] Backports requested where applicable (ex: critical bugfixes)
Waiting for @nextcloud/[email protected]
Rebased onto master after upgrading @nextcloud/vue
/backport to stable28
/backport 66ba4c1 to stable28