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

Review ARIA 1.1 Combobox with Listbox Popup Examples #496

Closed
4 tasks done
mcking65 opened this issue Oct 26, 2017 · 11 comments
Closed
4 tasks done

Review ARIA 1.1 Combobox with Listbox Popup Examples #496

mcking65 opened this issue Oct 26, 2017 · 11 comments
Assignees
Labels
Example Page Related to a page containing an example implementation of a pattern

Comments

@mcking65
Copy link
Contributor

mcking65 commented Oct 26, 2017

The ARIA 1.1 Combobox with Listbox Popup Examples page
is ready for task force review.

Known Issue

NOTE: There is one open issue that will be fixed during the week of October 30.

Currently, in examples 1 and 2, if an option is selected in the listbox, tabbing or clicking out does not set the value of the textbox to the selected option as expected. This is issue #495.

Reviews Requested as of October 25, 2017

@mcking65 mcking65 added Example Page Related to a page containing an example implementation of a pattern Needs Review labels Oct 26, 2017
@mcking65 mcking65 added this to the 1.1 APG Release 1 milestone Oct 26, 2017
@annabbott
Copy link

ARIA 1.1 Combobox with Listbox Popup Examples > second paragraph > second sentence:
"the list becomes available..."
Typo: capitalize the first letter of the first word of that sentence.

@annabbott
Copy link

Role, Property, State, and Tabindex Attributes > Textbox:
Visual formatting of table is different than for Combobox Container and Listbox Popup.

@annabbott
Copy link

annabbott commented Oct 26, 2017

Role, Property, State, and Tabindex Attributes > Textbox:
Combobox role is missing.
The following are also missing:
aria-expanded="false"
aria-owns="ex2-listbox"
aria-haspopup="listbox"

This needs to be further checked by a code warrior!

@accdc
Copy link

accdc commented Oct 27, 2017

Hi Ann, the reason for this is because there is really no relation between the 1.0 and 1.1 design patterns, since the roles and supporting attributes go in different places depending on which one is being implemented. Unfortunately this will likely cause a lot of confusion in the future as people try and mix and match both incorrectly.

Matt, this looks like it fits the design pattern the way we have it documented in the spec, though testing it is somewhat tricky since it doesn't actually work accessibly using screen readers reliably as yet. E.G you need to disable the virtual cursor in JAWS to be able to set focus to the edit field in order to type anything into it. However as a prototype to point screen reader venders to, this does indeed appear to be programmed correctly as documented in the 1.1 spec.

@mcking65
Copy link
Contributor Author

@accdc, thank you for the review.

what version of JAWS are you using? For me, with the shipping version of 18 (18.0.4321) it works almost identically to a 1.0 combo style. It is definitely a bit better than the prior version of 18 where it didn't even recognize the combo. Using FF 56 with JAWS.

However, in Chrome 62, it seems that aria-activedescendant is not working at all with either JAWS or NVDA, so that is probably a Chrome bug.

With NVDA, these only work in focus mode in Firefox. In document reading mode, only the combobox label is visible; the combobox itself does not exist.

We have a ways to go to get screen readers to exploit the advantages of the new structure so that users can see both the textbox and the popup as well as correctly read the popups.

@mcking65
Copy link
Contributor Author

annabbott commented:

Role, Property, State, and Tabindex Attributes > Textbox:
Visual formatting of table is different than for Combobox Container and Listbox Popup.

I don't understand why. I have the same classes on both tables and don't see any other classes that could mess it up.

@jnurthen, can you help with this??

@mcking65
Copy link
Contributor Author

@annabbott commented:

Role, Property, State, and Tabindex Attributes > Textbox:
Combobox role is missing.
The following are also missing:
aria-expanded="false"
aria-owns="ex2-listbox"
aria-haspopup="listbox"

Ann, as Bryan pointed out, these are differences between 1.0 and 1.1 form of the design pattern. I am thinking of adding a subsection to the design pattern that summarizes the differences between the two structures more clearly. Then, we would add a link to there. Not sure I see that getting done right now though.

mcking65 added a commit that referenced this issue Oct 27, 2017
For issue #496,
In examples/combobox/aria1.1pattern/listbox-combo.html,
change "the" to "The" as pointed out by @annabbott.
@sh0ji
Copy link
Contributor

sh0ji commented Nov 1, 2017

This might make sense as a separate issue since it might pop up for other patterns, but I noticed it while reviewing this: the label elements need a for reference for their inputs.

I see that they're using aria-describedby since the labels are labelling more than just the inputs, but the aria-describedby pattern is not functionally equivalent to the native label[for] or nesting pattern on form elements. Those two patterns allow mouse users to click the label to focus the input, but aria-describedby alone does not.

@jnurthen
Copy link
Member

Using label for would make sense here IMO as the input is indeed the element which actually takes browser focus. I don't see why it would do any harm in this example.

@a11ydoer
Copy link
Contributor

Spec and examples look good to me.

@mcking65
Copy link
Contributor Author

Thank you all for the great feedback! I am going to tie a bow on this one now.

mcking65 added a commit that referenced this issue Nov 27, 2017
Remove link to review issue #496  from examples/combobox/aria1.1pattern/listbox-combo.html.
The task force review process is complete.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Example Page Related to a page containing an example implementation of a pattern
Projects
None yet
Development

No branches or pull requests

6 participants