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 1.2 and HTML-ARIA 1.0 updates #414

Merged
merged 56 commits into from
May 19, 2021
Merged

ARIA 1.2 and HTML-ARIA 1.0 updates #414

merged 56 commits into from
May 19, 2021

Conversation

carmacleod
Copy link
Contributor

@carmacleod carmacleod commented May 10, 2021

This is a Draft pull request updating the Accessibility Checker's data and logic to the ARIA 1.2 and HTML-ARIA 1.0 specifications.
There's still work to be done before this can be merged.

Notes for ARIA 1.2 spec updates:

  • aria-disabled, aria-errormessage, aria-haspopup, aria-invalid deprecated as globals - supported on specific roles as appropriate
  • aria-expanded removed from container roles - supported or required on specific roles as appropriate
  • new roles: blockquote, caption, code, deletion, emphasis, generic, insertion, meter, paragraph, strong, subscript, superscript, time
  • required roles no longer have a default value, so they are truly required (only supported roles can have a default value)
  • directory role deprecated
  • aria-level removed from tablist, grid, treegrid
  • aria-level required on heading
  • aria-required allowed on checkbox and switch
  • aria-checked required on checkbox and radio
  • aria-posinset, aria-setsize allowed on article, treegrid row
  • name prohibited on caption, code, deletion, emphasis, generic, insertion, paragraph, presentation/none, strong, subscript, superscript
  • aria-valuemin, aria-valuemax supported (not required) on focusable separator, slider, scrollbar
  • aria-orientation supported (not required) on scrollbar
  • accessible name required on form
  • listbox allows group children, option allows group parent
  • list no longer allows group children, listitem no longer allows group parent
  • math now has childrenPresentational false
  • menu allows group children for menuitem and menuitemcheckbox (not just for menuitemradio)

other updates to the data (not related to ARIA 1.2):

  • name from author explicitly added where missing from data (for clarity & consistency)
  • gridcell, log have nameRequired true (was missing from data)
  • row supports name from contents (was missing from data)
  • checkbox, menuitemcheckbox, menuitemradio, option, radio have childrenPresentational true
  • sorted properties alphabetically where needed
  • updated roleType data (if "widget" incorrect, left commented for now)
  • added additional htmlEquiv data

Notes for HTML-ARIA 1.0 spec updates (many of these are due to the switch from W3C HTML to WHATWG):

  • new doc-* roles added (from DPUB-ARIA spec)
  • text level semantic elements split out into separate fields in documentConformanceRequirement object
  • br now supports only none, presentation
  • button is no longer a special tag because type=menu attribute is obsolete
  • added data, var (new in HTML 5.2), slot (new in WHATWG for Web Components)
  • fieldset now supports radiogroup role
  • figure moved to special tags because allowed roles depend on whether it has a figcaption
  • form moved to special tags because it needs a name
  • headings (h1-6) are not special - they don't need aria-level (it is set by UA)
  • hgroup is no longer a special tag because it doesn't have an implicit role (even if aria-level is added)
  • AC iframe is now the same as HTML-ARIA spec, so don't need comment
  • keygen no longer exists
  • li is no longer a special tag because directory as parent is obsolete, and menu as parent is mapped to ul
  • link is no longer a special tag because it has no implicit role even if it has an href
  • menu is no longer a special tag - it's implicit role is list, and it supports a specific set of roles
  • menuitem is obsolete
  • contextmenu is obsolete
  • nav now supports a list of valid roles
  • option is no longer special because it doesn't allow any other roles
  • section moved to special tags because it needs a name
  • svg has implicit role graphics-document, and allows any role
  • td, th, tr moved to special tags because role of containing table matters
  • img with alt="" maps to presentation (not null), and img with alt text or no alt only allows specific roles
  • replace input type=datetime with datetime-local
  • area without href does not have an implicit role
  • checkbox-with-aria-pressed validRoles: button only
  • not sure how to add autonomous custom element or form-associated custom element (added, but commented)

other updates to the data (not related to ARIA-HTML 1.0):

  • elements moved into alphabetical order: canvas, del, figcaption, thead, tfoot, blockquote, p, pre, input types
  • validRoles array listed in alphabetical order (sorry - will make it easier to compare in future)

@carmacleod carmacleod requested a review from tombrunet May 10, 2021 16:01
@carmacleod carmacleod marked this pull request as ready for review May 19, 2021 16:32
@tombrunet tombrunet merged commit 157b353 into master May 19, 2021
@tombrunet tombrunet deleted the aria-1.2-updates branch May 19, 2021 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants