aria-at
aria-at copied to clipboard
Test Plan for the Tabs with Automatic Activation Example
@IsaDC
Some initial thoughts ...
Test 1 and 2: Navigating into a tab list JAWS and NVDA support 'f' command.
Tests 4 and 5: Navigating to the next/previous tab in a tab list I think this should this be "Activating" or "Selecting" the next/prev tab". The reading cursor command sequences should include "Enter" or vo+space for activating.
Test 3: Request information about a tab in a tab list Should we have two separate tests: requesting information for a selected tab and requesting information for a tab that is not selected?
Test 8 and 9: Navigating to a tab panel What about navigating with a reading cursor?
@mcking65 I'm finishing up most of the changes locally. I expect to push them tomorrow morning.
So far, I've drafted the additional tests we discussed in our meeting, added the missing commands to tests 1 and 2, made some editorial changes to the assertions, and created and added the assertion for the tab panel boundary to the appropriate test.
The next steps are to:
- Write
setupScriptsfor the new tests. - Change the wording in Tests 4 and 5 from "Navigating to the next/previous tab" to "Selecting the next/prev tab."
- Create tests for navigating to the next/previous tab in virtual cursor/browse mode with the arrow keys.
- Create a test to activate a tab using the Enter and Space keys.
Do you think we should also add the "Request information about a not selected tab" test?
@IsaDC
I pushed a commit to fix some problems with references.csv and the reference column in assertion.csv.
Some special characters are not rendered correctly, example: convey name of the focused tab, 'Peter Müller'
Assertsions for names of tabs need to be separate from assertions for names of the tabpanel elements because the naming techniques are different, so the references need to be different. Tabs need to reference the HTML AAM mapping for button. The tabpanel elements are named with aria-labelledby.
This assertion should have priority 2: convey position of the tab, 1
In Test 2: Navigate backwards into a tab list where a tab is not selected, I think the VO command VO+Left should probably only be pressed 2 times, not 3 ... however, I didn't verify this.
In Test 6: Request information about a not selected tab in a tab list, the setup script is not setting focus on the correct tab.
In Test 7: Activate the next tab in a tab list, remove the JAWS command: Down Arrow (virtual cursor active)
In Test 8: Activate the previous tab in a tab list, remove the JAWS command: Up Arrow (virtual cursor active)
In Test 12: Navigate to the previous tab in a tab list, replace the assertion: convey state of the tab, 'not selected' with the assertion: convey state of the tab, 'selected'
@mcking65 I made the requested changes. Please review them and let me know if I missed or misunderstood something. As for:
Some special characters are not rendered correctly, example: convey name of the focused tab, 'Peter Müller'.
This has been fixed.
In Test 2: Navigate backwards into a tab list where a tab is not selected, I think the VO command VO+Left should probably only be pressed 2 times, not 3 ... however, I didn't verify this.
I verified this and the command is correct.
In Test 6: Request information about a not selected tab in a tab list, the setup script is not setting focus on the correct tab.
It works, except the window has to be maximized.
In Test 12: Navigate to the previous tab in a tab list, replace the assertion:
convey state of the tab, 'not selected'with the assertion:convey state of the tab, 'selected'.
The default state for the first tab is selected, so I don't think that the assertion should be changed.
I also caught an error in the assertion statement for the tab panel text.
@IsaDC
I found several more issues that I overlooked in my first review and some new ones. I went ahead and pushed commits for them. Please review my commit statements.
Here are a few I'd like to highlight.
Virst, in the menu button test plans, we gained consensus between Vispero and Apple that that it is optional to convey the name and role of the menu when focus moves to an item inside the menu. We have the same type of condition when tabbing or using a quick nav key to move focus to a tab in the tablist. So, I changed the default priority of the following assertions to 3:
Name of the tab list, 'Danish Composers', is conveyed convey role 'tab list'
However, tablist has one key difference from a menu: you can browse across the tablist boundary with arrow keys. So, I pushed additional commits for arrow key navigation commands that overrides the default priority for these assertions with a value of 2.
Note that the tablist name assertion was missing from the tests for requesting information; I pushed another commit to add it in, but not for insert+up, of course.
Finally, I spent considerable time with VoiceOver in Safari and Chrome. There are definitely some strange bugs when setting focus on the tab panel container. When the tabpanel receives focus, frequently the VO cursor seems to be placed at the end of the tabpanel instead of the beginning. That is why it appears to require 3 instead of 2 vo-left commands. However, this is a bug. I believe the test should expect only 2 vo-left commands to be required.. I pushed a commit that changes the VO commands for navigating backward into the tablist to use only 2 vo-left commands.
I think this is ready to ship
Thank you @mcking65! I'm going to merge the PR now.