Skip to content

Consider a flag warning new developers to avoid some aria features (role desc, braille props, etc) #1480

@cookiecrook

Description

@cookiecrook

In the role description deep dive this morning, we discussed ways to mitigate author misuse of aria-roledescription, and potentially other properties that 1) aren't commonly required and 2) are easy for inexperienced devs to misuse.

One possibility is to include a flag for "uncommon usage" (name TBD) or something else that indicates:

  • It's NOT expected that most web developers would need to use these features.
  • Even if they are tempted to use one of these, take additional time to seriously understand why you need it and how to use it.
  • Seriously web devs, DO NOT use this unless you have a really good reason.

IMO, the warning text should be bright and bold, immediately following the short description with sufficient use of warning icons or ⚠️ emoji. We might encourage validators or other checker tools to flag these for author review, too.

The braille properties, particularly those that allow characters in the Braille Unicode range, are other good examples. The ARIA WG added these for advanced usage by testing or other educational orgs. No only are they not required for most web apps and pages, chances are that lay usage will actually be more harmful than helpful. In other words, it's dangerous to use these without a full understanding.

In some ways, aria-label and aria-hidden could be considered dangerous; you can misuse them to develop a very inaccessible interface. However, I don't think common features like those should be included in the list due to the widespread use and the generally-more-understandable nature of the features. If we had the warning on aria-hidden, web developers would be more likely to ignore the warning when/if they saw it on aria-braillelabel

Metadata

Metadata

Assignees

No one assigned

    Labels

    editoriala change to an example, note, spelling, grammar, or is related to publishing or the repo

    Type

    No type

    Projects

    Status

    aria.js etc

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions