-
Notifications
You must be signed in to change notification settings - Fork 126
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
Required properties and default values #787
Comments
Regarding Defaults in general: It is always a good thing to state the obvious. Not with humans but with software. Danger is if you don’t explicitly declare defaults, there may be ambiguities in Platform API mappings across the different user agents. Reality has shown this for certain combinations. A list of recommended candidates would be good where to believe in correct implicit default mapping and where not. |
As far as accessibility support goes, I totally agree with you, there certainly are cases where you can't rely on the default to be consistent between platforms. It's more a question of where does the ARIA spec stand on this. ARIA 1.1 clearly says that content authors MUST NOT leave the value of required properties undefined, while also saying that user agents MUST use the default when a property/state isn't set. Those seem like to contradictory statements. Does "use the value undefined" mean having an empty attribute, rather than not having the attribute at all? So |
@jnurthen Any input? |
https://github.com/w3c/aria/wiki/Required-Properties-with-Default-Values is the list of states and properties with this issue |
Adding even more to the confusion, user agent support for implicit values for roles is only a SHOULD in the the Core Accessibility API Mappings 1.1:
|
I added a "Notes" column to the Required Properties with Default Values Table. Typical notes in this column are:
Additional notes and questions:
I will try to find out whether this can change to MUST. Same for the Author Errors section in Core AAM:
|
We will put this on the agenda for the meeting on Sept 6. |
The default value (or fallback) of - Harris |
Meta comment from wiki (moved here to make discussion easier): @joanmarie questions if we want to maintain the fallback/error-correction information in the Core AAM. The Core AAM (Accessibility API Mappings) tells implementors how to expose roles, states, and properties for each accessibility API. If an author makes the error of failing to provide a value for a required property, the corrective measures taken by the user agent (e.g. exposing "2" as the level of a heading without an aria-level) are independent of the Accessibility API. Things that have nothing to do with Accessibility API mappings do not belong, in her opinion, in an Accessibility API Mappings spec. An alternative solution would be to add a new section to the ARIA spec stating what user agents should do to correct for missing values of required properties. |
@joanmarie your alternative solution may be the way to go:
I looked (quickly) through open issues containing the words "supported" and "required", and I see that "required attributes with default values" are a problem for conformance checkers too. (i.e. if the default value was set by the UA, is a missing required value still an author error?) I still need to go through those issues in more detail. There are some hidden gems in there, such as this table the aXe people created showing the current support for aria-expanded on combobox. :) |
When the updates are complete, need to open an HTML issue/PR to update this table in the HTML spec. |
Auto-WCAG is currently working on a rule regarding required aria attributes. The question that came up was if required attributes with default values should actually be treated as required.
The ARIA 1.1 spec isn't particularly clear about this, firstly saying the following in 5.2.2:
But than about default values it says the following in 6.3:
My guess would be that required attributes with default values would not need to be set by the content author. From some quick testing, that certainly seems how browsers behave today. Can someone provide some clarity about this?
The text was updated successfully, but these errors were encountered: