Web accessibility means that websites, tools, and technologies are designed and developed so that people with disabilities can use them.
Several standards for accessibility of digital content, products, and services exist:
The global standard for making web content accessible to people with disabilities, published by the W3C.
The European standard for ICT (Information and Communication Technology) accessibility, harmonized with WCAG 2.1.
A standard for making EPUB e-books accessible. Based on WCAG 2.1. Key Features:
U.S. federal accessibility standard for ICT, aligned with WCAG 2.0. Key Areas:
A W3C technical specification to enhance web accessibility, especially for dynamic content.
UA stands for universally accessibility. This is a subtype of PDF/1.7, meant to comply with WCAG2. Key Features:
The European Accessibility Act (EAA), set to be fully implemented by mid-2025, requires digital content, including scientific publications and digital books, to be accessible to individuals with disabilities.
The act can be found here.
Does the platform meet global accessibility standards? The Librarians’ FAQ says
We have aimed for WCAG 2.0 AA compliance with the Web Accessibility Initiative recommendations (WAI) and compliance with Section 508 Amendment to the Rehabilitation Act of 1973.
But…
See also
Let’s answers this in terms of formats:
PDF-UA-1. See above.
EAA has implications for markup languages like JATS (and BITS), which are widely used in the publishing industry for scholarly articles and books.
The JATS used at AUP has to comply with the four principles of accessibility of websites and mobile applications refered to by EAA:
<sec>
, <p>
).These ensure the logical organization of content, improving navigation:
<article>
(JATS) / <book>
(BITS): Top-level containers for the document.<front>
, <body>
, <back>
: High-level structural divisions.<sec>
: Defines sections within the content, supporting hierarchical navigation.<title>
and <subtitle>
: Used for headings and subheadings.<p>
: Paragraphs.<list>
and <list-item>
: Structured lists.<table-wrap>
and <table>
: For data tables, with accessibility requirements for captions and column headers.Ensure all non-text content is described:
<alt-text>
: Provides a textual description of images, figures, and other visual elements.<long-desc>
: Used for extended descriptions of complex images, graphs, or charts.<caption>
: Short description for figures and tables.https://jats.nlm.nih.gov/archiving/tag-library/1.4/element/alt-text.html
Provide additional context for better comprehension:
<article-title>
/ <book-title>
: Primary titles.<contrib>
: Specifies authors and contributors.<abstract>
: Gives a summary of the content.<kwd-group>
: Keywords for enhanced discoverability.<doi>
and <uri>
: Persistent identifiers to ensure reference integrity.Attributes in JATS/BITS that enhance accessibility:
@id
: Unique identifiers for internal linking.@xlink:href
: Links to external resources or internal references.@alt
: Brief alternative text for figures and images.@role
: Specifies the purpose of elements (e.g., @role=”doc-chapter”).@xml-lang
: Assistive technologies use the @xml:lang attribute to determine pronunciation rules, voice synthesis, and other language-specific behaviors.Accessible tables require:
<thead>
and <tbody>
: Logical separation of header and body rows.<th>
and <td>
: Column headers and data cells, with @scope or @headers attributes for accessibility.<summary>
: Provides a concise description of the table.<fig id="fig1">
<label>Diagram 1.</label>
<caption><title>Kwantitatief overzicht nominale kernen</title></caption>
<graphic xlink:href="QUE2022.1.001.KLEI_fig1.jpg"/>
</fig>
Note the missing @alt
attribute for <graphic>
. Screen readers will not be able to describe the image. Also, <label>
should not replace <caption>
. Screen readers will not necessarily read the caption. Lastly, @xml:lang
is missing for multilingual support.
<fig id="fig1" xml:lang="nl">
<caption>
<title>Diagram 1: Kwantitatief overzicht nominale kernen</title>
</caption>
<alt-text>Diagram 1: Kwantitatief overzicht nominale kernen</alt-text>
<graphic xlink:href="QUE2022.1.006.TEST_fig1.jpg"/>
</fig>
alt
text for better screen reader support. Use @alt
or <alt-text>
if a longer explanation is neeeded<caption>
for proper structure.xml:lang="nl"
for correct pronunciation.Of course, these fixes mean nothing if the HTML generated from the XML is not accessible…
@alt
vs <alt-text>
Use @alt
for simple alternative text:
<graphic>
or <inline-graphic>
Use <alt-text>
for longer or structured alternative text:
<fig>
, <table-wrap>
, or <media>
.Use both:
@alt
<alt-text>
<alt-text>
vs <long-desc>
Use <long-desc>
for detailed, structured descriptions. For example, complex figures, charts, and infographics that require in-depth explanations.
In short, use it if an image is highly complex. Combine it with <alt-text>
so users have a short, immediate summary and can go to the <long-desc>
for an in-depth explanation.
<table-wrap id="tab1">
<table id="table1" width="1*">
<colgroup>
<col width="0.20*"/>
<col width="0.80*"/>
</colgroup>
<tbody>
<tr>
<td><italic>Maget</italic></td>
<td>1) <italic>Volwassen of huwbaar meisje, maagd, jonkvrouw, ongehuwde vrouw</italic>; 2) Ook van <italic>een ongehuwd jonkman, een man</italic> „die nie wijf en kende”; 3) <italic>Eene ongehuwde vrouw of meisje in dienstbaarheid, dienstmaagd</italic></td>
</tr>
<tr>
<td><italic>Wijf</italic></td>
<td>1) <italic>Vrouw, vrouwspersoon, vrouw in het algemeen</italic>; ook <italic>jonge vrouw, meisje</italic>; vgl. joncwijf; 2) In ongunstigen zin. <italic>Zedelooze vrouw</italic>; <italic>lichtekooi</italic>; 3) <italic>Gehuwde vrouw</italic>; 4) <italic>Van Maria, de Moeder Gods</italic>; 5) <italic>Echtgenoote, vrouw</italic>; 6) <italic>Het wijfje van een dier</italic>; 7) <italic>Dienstmaagd, dienstbode</italic></td>
</tr>
<tr>
<td><italic>Vrouwe</italic></td>
<td>1) <italic>Gebiedster, heerscheres, landsvrouwe</italic>; 2) Van <italic>Maria, de hemelkoningin</italic>, ndl. „onze lieve <italic>Vrouw</italic>”; 3) <italic>Meesteres</italic>; 4) Van zaken en dingen gezegd heeft vrouwe de bet. van <italic>de hoogste, voornaamste, uitstekendste, beste in eene soort</italic>; 5) Vrouwe wordt de uitdrukking voor <italic>deftige dame, vrouw van hooge geboorte of van aanzienlijken stand</italic>, ook <italic>edelvrouw</italic>; 6) <italic>Vrouw</italic> in het algemeen, hetzelfde als wijf; 7) <italic>Vrouw, echtgenoot, vrouw van, huisvrouw</italic> 8) Als tweede lid van eene samenstelling komt vrouwe voor in woorden, waar het de bet. <italic>opzichteres</italic> heeft.</td>
</tr>
</tbody>
</table>
</table-wrap>
There are some issues with this XML:
<thead>
and <th>
elements<caption>
inside <table>
, or <title>
inside <table-wrap>
xml:lang="nl"
) should be added<thead>
and <tfoot>
are absent<list>
elements instead of having item numbers in the <td>
.It may also make sense to explicitly associate <td>
cells with column meaning. For simple tables, <th scope="col">
is enough. For complex tables, use <td headers="id_of_th">
.
<table-wrap id="tab1" xml:lang="nl">
<caption>
<title><italic>Maget, wijf</italic> en <italic>vrouwe</italic> in nominale aanspreekvormen: het corpus</title>
<p>Het MNW geeft de volgende betekenissen voor de zelfstandige naamwoorden <italic>maget, wijf</italic> en <italic>vrouwe</italic></p>
</caption>
<table id="table1" width="1*">
<colgroup>
<col width="0.20*"/>
<col width="0.80*"/>
</colgroup>
<thead>
<tr>
<th scope="col">Term</th>
<th scope="col">Definitions</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="2">Bron: <sc>mnw</sc></td>
</tr>
</tfoot>
<tbody>
<tr>
<td><italic>Maget</italic></td>
<td>
<list list-type="order">
<list-item><p><italic>Volwassen of huwbaar meisje, maagd, jonkvrouw, ongehuwde vrouw</italic></p></list-item>
<list-item><p><italic>Ook van een ongehuwd jonkman, een man „die nie wijf en kende”</italic></p></list-item>
<list-item><p><italic>Eene ongehuwde vrouw of meisje in dienstbaarheid, dienstmaagd</italic></p></list-item>
</list>
</td>
</tr>
<tr>
<td><italic>Wijf</italic></td>
<td>
<list list-type="order">
<list-item><p><italic>Vrouw, vrouwspersoon, vrouw in het algemeen</italic>; ook <italic>jonge vrouw, meisje</italic></p></list-item>
<list-item><p><italic>Zedelooze vrouw</italic>; <italic>lichtekooi</italic></p></list-item>
<list-item><p><italic>Gehuwde vrouw</italic></p></list-item>
<list-item><p><italic>Van Maria, de Moeder Gods</italic></p></list-item>
<list-item><p><italic>Echtgenoote, vrouw</italic></p></list-item>
<list-item><p><italic>Het wijfje van een dier</italic></p></list-item>
<list-item><p><italic>Dienstmaagd, dienstbode</italic></p></list-item>
</list>
</td>
</tr>
<tr>
<td><italic>Vrouwe</italic></td>
<td>
<list list-type="order">
<list-item><p><italic>Gebiedster, heerscheres, landsvrouwe</italic></p></list-item>
<list-item><p>Van <italic>Maria, de hemelkoningin</italic>, ndl. „onze lieve <italic>Vrouw</italic>”</p></list-item>
<list-item><p><italic>Meesteres</italic></p></list-item>
<list-item><p>Van zaken en dingen gezegd heeft vrouwe de bet. van <italic>de hoogste, voornaamste, uitstekendste, beste in eene soort</italic></p></list-item>
<list-item><p>Vrouwe wordt de uitdrukking voor <italic>deftige dame, vrouw van hooge geboorte of van aanzienlijken stand</italic>, ook <italic>edelvrouw</italic></p></list-item>
<list-item><p><italic>Vrouw</italic> in het algemeen, hetzelfde als wijf</p></list-item>
<list-item><p><italic>Vrouw, echtgenoot, vrouw van, huisvrouw</italic></p></list-item>
<list-item><p>Als tweede lid van eene samenstelling komt vrouwe voor in woorden, waar het de bet. <italic>opzichteres</italic> heeft</p></list-item>
</list>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<thead>
with <th>
headers for better screen reader support.<title>
in <table-wrap>
and <caption>
inside <table>
for clear descriptions.xml:lang="nl"
<scope>
attributes in <th>
to clarify column relationships.<thead>
, <tbody>
, <tfoot>
).<list>
elements for semantic clarity.Note that this table does not need alt text because it is textual. For tables, it is good practice to rely on well-structured content (headers, captions, and a clear arrangement) and use @alt
and <alt-text>
for any graphical or complex content that requires additional explanation.
Again: if the JATS is not accessible, the HTML cannot be accessible either. We need to fix the JATS and re-upload the content. Then, we need to check if the HTML is accessible.
No special effort is required to make lists in JATS accessible, with the possible exception of adding a languages tag.
<list id="list1" list-type="unordered" xml:lang="nl">
<list-item>
<label>Maget</label>
<list list-type="ordered">
<list-item><p>1. <italic>Volwassen of huwbaar meisje, maagd, jonkvrouw, ongehuwde vrouw</italic></p></list-item>
<list-item><p>2. Ook van <italic>een ongehuwd jonkman, een man</italic> „die nie wijf en kende”</p></list-item>
<list-item><p>3. <italic>Eene ongehuwde vrouw of meisje in dienstbaarheid, dienstmaagd</italic></p></list-item>
</list>
</list-item>
<list-item>
<label>Wijf</label>
<list list-type="ordered">
<list-item><p>1. <italic>Vrouw, vrouwspersoon, vrouw in het algemeen</italic>; ook <italic>jonge vrouw, meisje</italic>; vgl. joncwijf</p></list-item>
<list-item><p>2. In ongunstigen zin. <italic>Zedelooze vrouw</italic>; <italic>lichtekooi</italic></p></list-item>
<list-item><p>3. <italic>Gehuwde vrouw</italic></p></list-item>
<list-item><p>4. <italic>Van Maria, de Moeder Gods</italic></p></list-item>
<list-item><p>5. <italic>Echtgenoote, vrouw</italic></p></list-item>
<list-item><p>6. <italic>Het wijfje van een dier</italic></p></list-item>
<list-item><p>7. <italic>Dienstmaagd, dienstbode</italic></p></list-item>
</list>
</list-item>
<list-item>
<label>Vrouwe</label>
<list list-type="ordered">
<list-item><p>1. <italic>Gebiedster, heerscheres, landsvrouwe</italic></p></list-item>
<list-item><p>2. Van <italic>Maria, de hemelkoningin</italic>, ndl. „onze lieve <italic>Vrouw</italic>”</p></list-item>
<list-item><p>3. <italic>Meesteres</italic></p></list-item>
<list-item><p>4. Van zaken en dingen gezegd heeft vrouwe de bet. van <italic>de hoogste, voornaamste, uitstekendste, beste in eene soort</italic></p></list-item>
<list-item><p>5. Vrouwe wordt de uitdrukking voor <italic>deftige dame, vrouw van hooge geboorte of van aanzienlijken stand</italic>, ook <italic>edelvrouw</italic></p></list-item>
<list-item><p>6. <italic>Vrouw</italic> in het algemeen, hetzelfde als wijf</p></list-item>
<list-item><p>7. <italic>Vrouw, echtgenoot, vrouw van, huisvrouw</italic></p></list-item>
<list-item><p>8. Als tweede lid van eene samenstelling komt vrouwe voor in woorden, waar het de bet. <italic>opzichteres</italic> heeft.</p></list-item>
</list>
</list-item>
</list>
<label>
for context