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

Add UA requirements for ARIA 1.1 under combobox #1178

Closed
WilcoFiers opened this issue Jan 29, 2020 · 9 comments · Fixed by #1223
Closed

Add UA requirements for ARIA 1.1 under combobox #1178

WilcoFiers opened this issue Jan 29, 2020 · 9 comments · Fixed by #1223
Assignees
Milestone

Comments

@WilcoFiers
Copy link
Contributor

Under combobox it says:

The ARIA 1.0 specification describes a combobox pattern where the input element with the combobox role references the popup element with aria-owns instead of aria-controls. User agents, assistive technologies, and conformance checkers SHOULD continue to support the ARIA 1.0 pattern so that existing implementations of the ARIA 1.0 pattern remain functional. The ARIA 1.1 specification describes a combobox pattern where the element with role combobox is a composite container instead of a focusable input. User agents and assistive technologies did not adequately support the ARIA 1.1 pattern, so the ARIA 1.2 pattern supersedes the ARIA 1.1 pattern, which authors SHOULD abandon.

In combobox, it is mentioned that UA should continue to support the ARIA 1.0 pattern. I think the same needs to happen for the ARIA 1.1 pattern. Yes, authors should move away from it, but until they have, browsers have to maintain support for this pattern. This could very easilly take a decade. I think ARIA 1.2 needs to be clear on this.

@jnurthen jnurthen added this to the ARIA 1.2 milestone Jan 30, 2020
@mcking65
Copy link
Contributor

@WilcoFiers wrote:

... it is mentioned that UA should continue to support the ARIA 1.0 pattern. I think the same needs to happen for the ARIA 1.1 pattern. Yes, authors should move away from it, but until they have, browsers have to maintain support for this pattern. This could very easilly take a decade. I think ARIA 1.2 needs to be clear on this.

Given the fact that the 1.1 pattern does not work for most assistive technology users, are there real benefits to recommending any continued support?

I am sure browser support for 1.1 implementations will not immediately break for the few people benefiting from it. However, it is guaranteed that any existing 1.1 implementation is creating more difficulties than benefits for users. So, a requirement, or even recommendation, to maintain code that is more harmful than beneficial does not seem like an optimal path. It will tend to perpetuate the problems.

Even if browser and assistive technology support for the 1.1 pattern were to remain at current levels for the next few years, which is likely even without a recommendation in the spec, it is hard to imagine that 1.1 implementations will persist for very long given that a broadly functional alternative is finally available. And, if checkers invalidate them, that will help promote their demise.

Would the following wording provide more clear and reasonable direction?

The ARIA 1.0 specification describes a combobox pattern where the input element with the combobox role references the popup element with aria-owns instead of aria-controls. User agents and assistive technologies SHOULD continue to support the ARIA 1.0 pattern so that existing implementations of the ARIA 1.0 pattern remain functional. However, conformance checkers SHOULD recommend that authors convert to the ARIA 1.2 pattern.

The ARIA 1.1 specification describes a combobox pattern where the element with role combobox is a composite container instead of a focusable input. Due to insufficient support by user agents and assistive technologies, the ARIA 1.2 pattern supersedes the ARIA 1.1 pattern. Authors SHOULD convert implementations of the ARIA 1.1 pattern to the ARIA 1.2 pattern. Conformance checkers SHOULD warn authors that the ARIA 1.1 pattern is no longer valid. User agents and assistive technologies MAY phase out support for the ARIA 1.1 pattern at their own discretion.

@carmacleod
Copy link
Contributor

@mcking65 Completely agree with the words in the previous comment, except for one nit.

I think the following sentence doesn't clearly state which version was insufficiently supported:

Due to insufficient support by user agents and assistive technologies, the ARIA 1.2 pattern supersedes the ARIA 1.1 pattern.

The sentence that was there originally is clearer:

User agents and assistive technologies did not adequately support the ARIA 1.1 pattern, so the ARIA 1.2 pattern supersedes the ARIA 1.1 pattern.

@mcking65
Copy link
Contributor

Thank you Carolyn, then the proposal would read as follows. I'm also thinking it would be useful to incorporate more specifics for conformance checkers as proposed by @accdc in #1118.

The ARIA 1.0 specification describes a combobox pattern where the input element with the combobox role references the popup element with aria-owns instead of aria-controls. User agents and assistive technologies SHOULD continue to support the ARIA 1.0 pattern so that existing implementations of the ARIA 1.0 pattern remain functional. However, conformance checkers SHOULD recommend that authors convert to the ARIA 1.2 pattern by replacing aria-owns with aria-controls.

The ARIA 1.1 specification describes a combobox pattern where the element with role combobox is a composite container instead of a focusable input. User agents and assistive technologies did not adequately support the ARIA 1.1 pattern, so the ARIA 1.2 pattern supersedes the ARIA 1.1 pattern. Authors SHOULD convert implementations of the ARIA 1.1 pattern to the ARIA 1.2 pattern. Conformance checkers SHOULD warn authors that the ARIA 1.1 pattern is no longer valid. User agents and assistive technologies MAY phase out support for the ARIA 1.1 pattern at their own discretion.

@mcking65
Copy link
Contributor

I would like to have feedback from @WilcoFiers and @zcorpan before submitting a PR.

@joanmarie
Copy link
Contributor

Ping @WilcoFiers and @zcorpan re the feedback requested.

@carmacleod
Copy link
Contributor

The ARIA Working Group just discussed Add UA requirements for ARIA 1.1 under combobox.

The full IRC log of that discussion <carmacleod> github: https://github.com//issues/1178
<carmacleod> jamesn: need to ping Wilco

@WilcoFiers
Copy link
Contributor Author

@schne324 pinged me on this. I like the "User agents and assistive technologies MAY phase out support for the ARIA 1.1 pattern at their own discretion." phrasing. I think that's an excellent addition to this.

@zcorpan
Copy link
Member

zcorpan commented Apr 17, 2020

From #1118

  • Why should conformance checkers support the ARIA 1.0 pattern? If we want authors to use the 1.2 pattern, shouldn't conformance checkers flag an error when the 1.0 pattern is used?

Specifically, conformance checkers should give an error for the ARIA 1.0 pattern and recommend the current pattern instead.

  • What does it mean for UAs and ATs to support the ARIA 1.0 pattern? If it is required for web compat to support the legacy markup pattern, the processing model to handle both the 1.2 pattern and the 1.0 pattern should be clearly specified in the current spec.

I think it's not enough for the purpose of ending up with interoperable implementations to say "continue to support the ARIA 1.0 pattern". Conforming to the requirements of the features used by the patterns should be enough for browsers and ATs to end up with the desired result.

@mcking65
Copy link
Contributor

mcking65 commented Apr 23, 2020

@cookiecrook does not support normative requirements for user agents and conformance checkers related to earlier versions of the specification. His position, as I understand it, is that if the specification is to mention previous requirements at all, it should do so in the form of an informative note. I believe this is more consistent with accepted practice and have revised the proposed text as follows.

NOTE

The structural requirements for combobox defined by this version of the specification are different from the requirements defined by ARIA 1.0 and ARIA 1.1:

  • The ARIA 1.0 specification required the input element with the combobox role to be a single-line text field and reference the popup element with aria-owns instead of aria-controls .
  • The ARIA 1.1 specification, which was not broadly supported by assistive technologies, required the combobox to be a non-focusable element with two required owned elements -- a focusable textbox and a popup element controlled by the textbox .
  • The changes introduced in ARIA 1.2 improve interoperability with assistive technologies and enable authors to create presentations of combobox that more closely imitate a native HTML select element.

You can view the above in a RawGitHack view of the compare branch for pull request #1123.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants