Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is XHTML role attribute? What do you use it for?

I have read W3C's page on this, but it is still vague to me. Is the role attribute's purpose to clarify the code? Or will it be interpreted by some browsers or spiders?

Can it be used as a DOM selector using some JavaScript libraries (I am thinking so since the id attribute has to be unique, this could be used to identify multiple resources on a page)?

like image 714
jd. Avatar asked Nov 05 '09 03:11

jd.


People also ask

What is role attribute used for in HTML?

The role attribute describes the role of an element in programs that can make use of it, such as screen readers or magnifiers. Screen Readers will read this element as “button” instead of “link”.

What is an attribute role in XML?

The attribute describes the role(s) the current element plays in the context of the document. This can be used, for example, by applications and assistive technologies to determine the purpose of an element.

What is the role of the attribute in creating a website?

Attributes define additional characteristics or properties of the element such as width and height of an image. Attributes are always specified in the start tag (or opening tag) and usually consists of name/value pairs like name="value" .


2 Answers

The Short Version:

The Role Attribute may give future browsers a way to work intelligently with certain XML elements in a device-independent way. For example, an unordered list that is marked with the role attribute of "navigation" can be interpreted intelligently on browsers in both desktop and handheld environments, allowing it to be displayed clearly in both environments.

The Long Version:

The XHTML Role Attribute defined in this specification allows the author to annotate XML Languages with machine-extractable semantic information about the purpose of an element. Use cases include accessibility, device adaptation, server-side processing, and complex data description.

The attribute describes the role(s) the current element plays in the context of the document. This can be used, for example, by applications and assistive technologies to determine the purpose of an element. This could allow a user to make informed decisions on which actions may be taken on an element and activate the selected action in a device independent way. It could also be used as a mechanism for annotating portions of a document in a domain specific way (e.g., a legal term taxonomy).

Example:

<ul role="navigation sitemap">     <li href="downloads">Downloads</li>     <li href="docs">Documentation</li>     <li href="news">News</li> </ul> 

Given that the XHTML2 Working Group will cease to exist at the end of this year, there's no chance of this specification ever reaching release status in anything resembling its current form. http://www.w3.org/News/2009#entry-6601

like image 99
Robert Harvey Avatar answered Sep 21 '22 14:09

Robert Harvey


The document you refer to is part of the work of the now discontinued XHTML 2 working group. It is effectively obsolete.

HTML5/XHTML5 also has a role attribute. Its definition is similar but somewhat more limited - its purpose is to indicate Accessible Rich Internet Applications (ARIA) roles, so that assistive technology such as screen readers can better inform users about the purpose of UI components (widgets), and also help them navigate the web page more easily.

The list of valid roles for ARIA is available at http://www.w3.org/TR/wai-aria/#roles

like image 37
Alohci Avatar answered Sep 19 '22 14:09

Alohci