Skip to content
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

Improve QDate keyboard navigation and ARIA labels #5266

Closed
BrennaEpp opened this issue Oct 8, 2019 · 5 comments
Closed

Improve QDate keyboard navigation and ARIA labels #5266

BrennaEpp opened this issue Oct 8, 2019 · 5 comments

Comments

@BrennaEpp
Copy link

Is your feature request related to a problem? Please describe.
The q-date component date picker is not friendly to navigating with a keyboard nor with a screen-reader.

Describe the solution you'd like
Something like the demo in this page: https://www.24a11y.com/2018/a-new-day-making-a-better-calendar/

  • Arrow keys work to navigate between the elements and between the dates in the calendar

  • ARIA standards and best practices for roles and labels are followed so that the calendar "sounds human" when read by a screen reader. For example:

  • instead of only reading out the number when a date is selected, read out the whole date.

  • aria label for next month button if current selected month is December 2018: "Next month, January 2019"

  • aria label for next year button if current selected year is 2018: "Previous year, 2017"

  • A slot, a prop or something similar for a close button when the calendar is used in conjunction with q-popup-proxy so that the close button looks like a natural part of the calendar (nice but least important)

Describe alternatives you've considered
Not sure what alternatives other than build my own or find another date picker component.
The close button can be implemented as part of the q-popup-proxy slot but it takes up unnecessary space and looks out of place.

@pdanpdan
Copy link
Collaborator

Would you like to take a shot on solving this problem? We can discuss here the implementation details, but if you could create a PR for this it would be great.

@pdanpdan pdanpdan self-assigned this Oct 11, 2019
@BrennaEpp
Copy link
Author

Ok, I tried some things: https://github.com/BrennaEpp/quasar

It mostly works, except for:

  • aria labels are all in English; I'm not sure how to go about labeling by locale
  • keyboard navigation does not work if there are limited dates; making it work for skipping the dates wouldn't be too hard, but it would be better to have the "invalid" dates still be navigable and indicate that they are not valid
  • some of the keyboard navigating decisions I made based only on what I would expect, so they may not be the best

Hopefully what I did was helpful but implementation-wise there may be way better ways.

pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 20, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 20, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 20, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 20, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 20, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 21, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 22, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 22, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 23, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 23, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 24, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 24, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 24, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 24, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 24, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 25, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 25, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 25, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 25, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 26, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 26, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 27, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 28, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 28, 2020
…asarframework#4068, quasarframework#6736

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Jan 11, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Jan 15, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Jan 16, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Jan 19, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
@Marcindyg
Copy link

@pdanpdan
Looks like keyboard support works very well on v1 but is not supported yet in v2.
Do You plan to add this support to v2?

@pdanpdan
Copy link
Collaborator

Sorry, I cannot support the changes also for Qv2
For Qv2 you can try this: https://codepen.io/pdanpdan/pen/MWBqwwL?editors=1010
It's not perfect but it works

pdanpdan added a commit to pdanpdan/quasar that referenced this issue Feb 7, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
@rstoenescu
Copy link
Member

Fix will be available in Quasar v2.11.6

pdanpdan added a commit to pdanpdan/quasar that referenced this issue Feb 15, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 1, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 2, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 9, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 17, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 17, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 17, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 21, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 21, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Mar 31, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 4, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Apr 27, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue May 4, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue May 5, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue May 12, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Sep 4, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Sep 8, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Oct 21, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
pdanpdan added a commit to pdanpdan/quasar that referenced this issue Oct 21, 2023
…p arround keyboard navigation quasarframework#5266, quasarframework#4068, quasarframework#6736, quasarframework#6562, quasarframework#6560, quasarframework#12464, quasarframework#12506, quasarframework#12505

- allow unique TAB target point in a group
- allow key navigation in group
- improve initial focusing on QMenu and QDialog
- tab goes from the end of the menu/dialog to the start
- shift+tab goes from the start of the menu/dialog to the end
- key navigation in tabs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants