Easy ARIA Tip #1: Using aria-required

Inspired by a conversation I had with Aaron the other day, I’m starting a mini series about easy accessibility improvements you can accomplish using ARIA, but which do not require you to implement a whole widget. Some ARIA attributes also work on plain old standard HTML elements and can easily improve accessibility within supported browsers and screen readers. On browsers that do not support these attributes (yet), they are ignored and do not break your page just because that attribute is there.

The first attribute I’d like to cover is called aria-required. It is one of the universal aria attributes, which means, as stated, that it can be used on any conventional HTML element such as input or select.

Let’s look at this sample excerpt:


In this excerpt, both the firstName and lastName input elements have the aria-required attribute set. Note that in normal scenarios, you’d also stype them or their label differently, or put an asterisk “*” after the label.
However, if you cannot or do not want to put an asterisk on the label, but only style it with bold text or the like, screen readers usually cannot pick up the information automatically that this is a required field. If you use the aria-required attribute as shown above, modern screen readers will indicate that this is a required field automatically, if used together with Firefox 3.
Screen readers that already support this feature are NVDA, JAWS 9.0, and Window-Eyes 5.5 or higher. JAWS 8 does not support this attribute yet. Also, ORCA does not seem to pick this attribute up yet, at least my testing showed that Orca did not indicate the required state to me when tabbing through that form.

On the browser side, Opera 9.5 is going to include ARIA support, so this technique is not limited to Firefox. Also, as this technology spreads, more browsers will pick up on it, and your sites will automatically be compatible and more accessible once these other browsers also support ARIA.

This is the first of a couple of examples that demonstrates how easily you can use ARIA without implementing a whole widget to improve accessibility on your web sites. Start using it today, and you’ll make sure that you help insure good accessibility for people using modern browsers and screen readers!

Bookmark and Share

Tags: , , , , ,

24 Responses to “Easy ARIA Tip #1: Using aria-required”

  1. Robin says:

    So what’s the status with ARIA and IE? I’d love to start using some of these features, but I guess I’m going to have to carry on doing what I do currently regardless.

  2. Marco says:

    Robin, IE does currently not support ARIA. However, you can use the markup nevertheless. Firefox, and other modern browsers will use it, and once IE comes around to supporting it, too, you do not need to change your pages again then, they will just start to work for IE users as well as they already do for Firefox users.

  3. nobody says:

    Under which doctype is aria-required a valid attribute?

    And s/action=post/method=post/ on the form element in the example.

    Then there’s this thing called XML — but that’s another story.

  4. Marco says:

    1. Thanks for the suggestion on the form. The code was just meant as an example, and I didn’t pay attention to the form attributes (only where it mattered, and that was on the input tags).
    2. With Firefox, the aria-required attribute works on any doc type. I used it in a plain HTML doc that didn’t have a doc type specifier at all.

  5. [...] aria-required addthis_url = ‘http%3A%2F%2Fgetfirefoxbrowsers.com%2F2008%2F03%2Feasy-aria-tip-2-aria-labelledby-and-aria-describedby’; addthis_title = ‘Easy+ARIA+tip+%232%3A+aria-labelledby+and+aria-describedby’; addthis_pub = ”; Thank you for reading this post. You can now Leave A Comment (0) or Leave A Trackback. [...]

  6. [...] ARIA Tips from Marco Zehe: Easy ARIA Tip #1: Using aria-required   and  Easy ARIA tip #2: aria-labelledby and [...]

  7. [...] zu aria-required und aria-labeldby/describedby [...]

  8. [...] zu aria-required und aria-labeldby/describedby [...]

  9. Torrenty says:

    Under which doctype is aria-required a valid attribute?

  10. Torrenty says:

    [url=http://torrentspider.pl]Torrent[/url]

    [...] zu aria-required und aria-labeldby/describedby [...]

    yeah

  11. ChaosKaizer says:

    I like this ideas, Its best practice if this implementation is send to specific type of browser agent only. Can you write the full list of User-agent string that supported “ARIA-required” propriety.

  12. Snx for you job!
    It has very much helped me!

  13. [...] a few google searches, I found that it’s an accessibility feature for screen readers. It’s just not a feature that validates thru W3C. So, my choice is [...]

  14. [...] seus campos de formulário estão a informar que são de preenchimento obrigatório com o atributo aria-required? Os leitores de ecrã como o NVDA podem usar isto para fornecerem uma indicação clara de que este [...]

  15. [...] I decided to validate my whole site–not just the homepage. But WordPress messed it up. This ARIA-something thing is a feature that FF and Opera has supported, but the troublemaker is actually Internet Explorer. Darn, I really [...]

Leave a Reply