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

ARIA jQuery Datepicker: Cannot traverse calendar #1763

Closed
nvaccessAuto opened this issue Sep 7, 2011 · 4 comments
Closed

ARIA jQuery Datepicker: Cannot traverse calendar #1763

nvaccessAuto opened this issue Sep 7, 2011 · 4 comments

Comments

@nvaccessAuto
Copy link

Reported by kevinchao89 on 2011-09-07 02:40
Firefox Nightly 9.0a1 (2011-09-06) and NVDA Main Snapshot 4634

Firefox: http://hanshillen.github.com/jqtest/#goto_datepicker
Navigate to calendar, traverse and select a specific month, day, and year; it’s not possible.

@nvaccessAuto
Copy link
Author

Comment 1 by jteh on 2011-09-07 09:00
You didn't specify whether you were trying to do this in focus mode or browse mode, nor did you provide the steps you tried and the expected results.

In either case, this doesn't seem to work and I can't see how this is NVDA related. It appears to be a problem with the widget and/or Firefox, most likely the former.
Changes:
Added labels: invalid
State: closed

@nvaccessAuto
Copy link
Author

Comment 2 by Palacee_hun on 2011-11-23 23:35
The good news is that the datepicker on the mentioned page can indeed be used with NVDA and is in fact accessible, both the popup and the inline version. However their usage has strong peculiarities which I feel are due partly to bugs in Firefox focusing framework and partly maybe to NVDA code. In both cases this needs further investigation, that's why I reopen this ticket. I don't think there's much trouble with the widgets themselves, because as I'll show below, they can be used successfully to select dates even with NVDA.
[these procedures below I use the current state of the datepicker widget (updated 10 November 2011 according to page) with Firefox 8.0 stable and NVDA 2011.3 release snap 4762 running under Win XP Home SP3 32 bits.
[[BR]([BR]]
For)]
The popup version of the datepicker:
[Open the page linked in the ticket with FF and locate the widget labelled "Date of Birth" just below the heading saying popup version.
2. Now you must enable focus mode on this custom control representing the popup datepicker. This is the critical step. Because oddly enough your success will depend on HOW you do this. If you use NVDA+Space on the control, you will always be able to select a date for sure. If you switch to focus mode by tabbing to the control, you may have some chance of success. But if you hit Enter on the control, that also will take you to focus mode, however you won't succeed with date selection. This very odd behaviour indicates NVDA involvement for me and that's why I strongly feel this ticket is far from being invalid.
3. Now that you are in focus mode, you must bring up the date selection grid (like a calendar grid) by pressing Up arrow. If you didn't switch to focus mode by NVDA+Space, you will most probably fail here because when you press Up arrow, NVDA will return to browse mode making the date selection impossible! But if you did, you will surely remain in focus mode. Most times you will hear something like "November 2011 some day cell" (this depends on actual date). If you hear this, you are surely focusing the date grid, just move on to step 4. If you hear "frame" instead, then NVDA focused an erroneous, non-existing element. I don't know where it comes from; this is most probably due to FF 8 focusing bugs. If this happens, just press Up arrow again and you will land really on the date grid.
4. Now move among the days with the arrow keys, among the months with PGDn/PGUp and among the years with Alt-PGUp/PGDn. No problems here.
5. If you have found the desired date, press Enter to collapse the date grid.
6. The date is selected now, you're almost done. But you must return to browse mode. However due to some focusing bug, you can't do that right now, because you have landed on an invisible frame object. You can ascertain this by NVDA+Tab. To move to the real widget, you have to press Shift+Tab.
7. Finally as you are now really on the widget (NVDA+Tab to check this) you can reenable browse mode. Always do this with NVDA+Space!
[[BR]([BR]]
1.)]
The inline version of the datepicker is much simpler with almost no peculiarities:
[[BR]]

  1. Find the "Prev" link just below the heading saying "Inline Version".
  2. Go to focus mode on this. Here you have only one possibility to do that: NVDA+Space.
  3. Press Tab twice to focus the date grid and operate it as in step 4. above. When you are done selecting a date, just hit Enter. NVDA will even announce that the cell of the desired day in the grid is checked! The date is now selected.
  4. Now you can reenable browse mode with NVDA+Space without problems. You will land on the browse mode representation of the date grid.
  5. Now comes a peculiarity. You can't leave the grid by arrowing down to its bottom, because if you reach the last day, the grid will wrap around! So you can never leave it that way. That means the Aria widget still intercepts and reacts to your arrow keys in spite of being in browse mode now. That may be a NVDA issue also worth investigating. However you can't select dates in browse mode. A possible way out is to press b key to navigate to the buttons of the widget, the first is labelled "today".

Changes:
Removed labels: invalid
State: reopened

@nvaccessAuto
Copy link
Author

Comment 3 by jteh (in reply to comment 2) on 2011-11-24 00:16
Replying to Palacee_hun:

The popup version of the datepicker:

  1. Now that you are in focus mode, you must bring up the date selection grid (like a calendar grid) by pressing Up arrow. If you didn't switch to focus mode by NVDA+Space, you will most probably fail here because when you press Up arrow, NVDA will return to browse mode making the date selection impossible!

Okay. The problem here is that a table cell receives focus when you press upArrow. Normally, table cells aren't interactive and are therefore examined using browse mode, so NVDA switches to browse mode automatically. There's no documented way of differentiating between an interactive table cell and a table cell that isn't interactive. We do need to investigate a fix for this part.

Most times you will hear something like "November 2011 some day cell" (this depends on actual date). ... If you hear "frame" instead, then NVDA focused an erroneous, non-existing element. I don't know where it comes from; this is most probably due to FF 8 focusing bugs.

I don't see this with Firefox 11, so it's probably fixed by Firefox 10's focus refactor.

  1. The date is selected now, you're almost done. But you must return to browse mode. However due to some focusing bug, you can't do that right now, because you have landed on an invisible frame object.

I don't see the invisible frame here in Firefox 11 either. However, I do get focused on a paragraph object. This does have the focused state, so I'm pretty sure this one is a bug in the widget. That said, this won't stop NVDA+space from working.

The inline version of the datepicker is much simpler with almost no peculiarities:

  1. Now comes a peculiarity. You can't leave the grid by arrowing down to its bottom, because if you reach the last day, the grid will wrap around! So you can never leave it that way. That means the Aria widget still intercepts and reacts to your arrow keys in spite of being in browse mode now. That may be a NVDA issue also worth investigating.

NVDA focuses each item as you move in browse mode. The problem is that the widget keeps forcing focus back to an earlier item when you focus items near the bottom. This is almost certainly an issue with the widget. This will be less of an issue once you can just tab into the grid and have NVDA automatically switch to focus mode.
Changes:
Milestone changed from None to near-term

@nvaccessAuto
Copy link
Author

Comment 4 by jteh on 2012-01-18 01:01
Focused table/grid cells now use focus mode as of d6277e2. I believe this fixes all the issues here that aren't bugs in the widget.
Changes:
Milestone changed from near-term to 2012.1
State: closed

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

1 participant