Use the ARIA role attribute to provide more information about the structure of a document for users of assistive technologies.



Common semantics
<img role="doc-cover" class="cover-img" src="cover.jpg" alt="Cover Image"/>
<section role="doc-preface" aria-label="Preface">
   <p>When I first put pen to paper …</p>
<section role="doc-foreword" aria-labelledby="hd01">
   <h2 id="hd01">Foreword</h2>
<section role="doc-part" aria-labelledby="hd02">
   <h2 id="hd02">Book The First</h2>
<section role="doc-chapter" aria-labelledby="hd03">
   <h2 id="hd03">1 - It begins</h2>
Footnote and reference
<p>lorum ipsum.<a role="doc-noteref" href="#fn01">1</a></p>
<aside role="doc-footnote">
Endnote and reference
<p>lorum ipsum.<a role="doc-noteref" href="#en01">1</a></p>
<aside role="doc-endnote">
Endnotes section
<section role="doc-endnotes" aria-labelledby="hd-notes">
   <h1 id="hd-notes">Endnotes</h1>
     <h2>Chapter 1</h2>
      <li role="doc-endnote">…</li>
<dl role="doc-glossary">
<section role="doc-bibliography" aria-labelledby="hd05">
   <h2 id="hd05">Select Bibliography</h2>
<section role="doc-index" aria-labelledby="hd06">
   <h2 id="hd06">Name Index</h2>


A limitation of the core HTML markup grammar is that it is not well-suited for identifying common publishing structures because of its small set of elements. There may be hundreds of aside elements in a publication, for example, but reliably distinguishing which ones represent notes from sidebars from warnings and alerts has not been possible.

For sighted users, the deficiency this causes has been masked by the enhanced visual rendering that CSS style sheets afford (backgrounds, borders and shading are used to convey roles visually). For users of assistive technologies — which rely on an understanding of the underlying markup in order to facilitate navigation — Web-based technologies have only had limited accessibility because primary and secondary material was often indistinguishable below the visual surface.

To make publications more accessible, you need to consider that many users will be interacting with the content in non-visual ways, and for that reason the logical reading order must be defined at the markup level. To facilitate this discovery, the ARIA role attribute allows more precise meanings to be applied to the generic tags.


Semantic inflection can only be used to define the nature of structural markup. It is not defined for making associations between your content, a process called semantic enrichment.


The epub:type attribute was intended to serve a similar function to the ARIA role attribute in EPUB 3, but accessibility support never materialized. The attribute is useful for enabling certain user agent behaviors, such as pop-up footnotes, but should not be used with expectations of enhancing the accessibility of publications.

Refer to the EPUB Type to ARIA Role Authoring Guide for a list of bad practices to avoid when switching from the epub:type to the ARIA role attribute.