The question of whether HTML elements need the addition of ARIA
roleattibutes to expose their semantics, is one that surfaces on a regular basis. The answer is maybe for a subset of elements, but increasingly no.
In some cases the semantics of a HTML element can be expressed by an ARIA role, state or property. This is fiendishly known as the element’s ‘Default Implicit ARIA semantics‘ARIA roles add nothing to default semantics of most elements
None of the elements defined in HTML4 need ARIA roles added to expose their default semantics. Adding an ARIA role is extra work for no gain and could lead to pain for you or somebody else. The new features defined in HTML5 , where implemented, now have their default semantics exposed by most browsers.
That’s right accessible. What am I talking about? Read on…Some users navigate the internet using the keyboard rather than mouse or trackpad. Users with certain disabilities interact purely the keyboard or an accessibility switch and blind users rely on assistive technology such as screen readers and so on. This is where using canvas to create full content starts to come unstuck, as the canvas itself has no concept of what’s going on inside it. Basically, it’s a bit of a black box!
The browser will always see it as a single element. Meaning that content rendered in canvas is completely unreachable by assistive technology such as screen readers. Not great really as it means certain users will not be able to navigate content built using canvas.
Doing a fair chunk of work for the BBC this year, they are striving to make their games as accessible as possible. One hurdle which we both faced was that a lot of games and rich media content these days are built on top of canvas. What we needed was a way to make the content accessible to the screen readers so that all users can enjoy the content they output as much as possible.
That’s it. That’s the meat of the post. The title covers it all. You don’t need to read any further. You are, of course, welcome to continue since I spent all this time writing it.
For those who aren’t familiar with , the element is intended to be a container for the primary content of your page.
2.1 First rule of ARIA use
If you can use a native HTML element [HTML51] or attribute with the semantics and behaviour you require already built in, instead of re-purposing an element and adding an ARIA role, state or property to make it accessible, then do so.
ARIA has been providing additional semantics to help assistive technologies (ATs) and making it possible for developers to enhance the usability of web applications for people with disabilities. The fundamental question remains to date — do HTML elements need ARIA role attributes to expose their semantics?
In this article, I will cover this subject along with the new HTML5 structural elements with default implicit semantics that contest ARIA roles.
This site is a resource to provide information about which new HTML5 user interface features are accessibility supported in browsers, making them usable by people who rely upon assistive technology (AT) to use the web.