Orange digital accessibility guidelines
-Accessibility user testing #
+Accessibility user testing #
In order to evaluate the accessibility of a site, application, or product, accessibility experts conduct audits with the objective to check their compliance against standard or best practices rules (WCAG 2.1 Level AA for web).
Once the application is compliant or mostly compliant with guidelines, experts can complete their audit with tests performed by users with disabilities.
In ergonomics: «User testing is the main method for evaluating the user experience in an iterative process. The evaluation relies on the observation of users performing a set of tasks while interacting with a system. Data collected regarding their behavior, reactions and performances provide information about strengths and weaknesses of the evaluated system, as well as about the experience of users.» (translated from Méthodes de design UX. Carine Lallemand & Guillaume Gronier. Eyrolles, 2016).
diff --git a/en/articles/accessible-table/index.html b/en/articles/accessible-table/index.html
index d8b3c6016..bc2e6f414 100644
--- a/en/articles/accessible-table/index.html
+++ b/en/articles/accessible-table/index.html
@@ -186,29 +186,29 @@
Tables in accessibility
General presentation #
+General presentation #
A table is an arrangement of information in rows and columns containing cells that make it easy to compare and highlight information. They allow tabular information to be presented in a two-dimensional grid, such data is easier to read in tabular form.
This allows a user, who does not have a vision problem, to quickly make visual associations between table data and its table headings.
However, a blind user will not have access to all these relations between the information, it's the reason why it is important that the tables are implemented with the appropriate HTML markup so that they are the most accessible possible for assistive technologies.
In the rest of this article, we will see the main rules to follow to obtain an accessible table.
-Add a caption/title to your table #
+Add a caption/title to your table #
It is important to define a title for your table. Concise and relevant, this text will indicate its content as well as the type of data it contains.
It must be associated with the table using the caption
element and must be the first element after the opening table
tag. You can also use a h1,h2...
title placed in the code just before the table as another way to associate a title.
Example caption
#
+Example caption
#
<table>
<caption>Time planning 2022</caption>
[...]
</table>
-Example HTML title #
+Example HTML title #
<h2>Time planning 2022</h2>
<table>
[...]
</table>
-Add a description for complex table #
+Add a description for complex table #
If you have a complex table and want to provide a more detailed summary, it is recommended to use the ARIA aria-describedby
attribute.
It will programmatically link a description to your table.
@@ -222,8 +222,8 @@ Add a description for complex table
</table>
There is also the possibility of using the summary
attribute to give, in addition, a summary of the contents of a table, however this attribute is no longer part of the HTML 5 specifications and we do not recommend its use.
Identify your table headers #
-Scope attribute #
+Identify your table headers #
+Scope attribute #
To help assistive technology users, you must identify table headings, whether for rows or columns.
To identify these table headers, you must use the th
tag, which must never be empty.
Once the headers are created, the data cells must be associated with the headers on which they rely.
@@ -232,7 +232,7 @@
Scope attribute for a column header
<th scope="row">
for a row header
-Id and header attributes #
+Id and header attributes #
Some tables are too complex to identify a strict horizontal or vertical association (for example, merged columns or rows) between the header and the data cells.
The scope
attribute does not solve this problem. A unique id
attribute must be used for each header cell. To link this header to a cell, you must use the headers
attribute and adding the required id
.
For example, we have two header cells, <th id="toto">Toto</th>
and <th id="tata">Tata</ th>
, the code to link it to a data cell will be <td headers="toto tata">Tota</td>
.
@@ -241,16 +241,16 @@ Id and header attributes Navigating a table using NVDA or JAWS #
+Navigating a table using NVDA or JAWS #
Creating accessible tables will allow consistent reading of these tabular data with a screen reader. To navigate in a table with Jaws or NVDA, there are several specific shortcuts.
-NVDA #
+NVDA #
To quickly navigate from table to table in a page, just use the t key, if you use the Shift + t shortcut, you navigate in the opposite direction and so we return to the previous table.
Once inside a table, there are several shortcuts to move around easily.
- Ctrl + alt + left arrow moves to the left column while keeping the same line, Ctrl + alt + right arrow moves to the column right.
- Ctrl + alt + down arrow moves to the next line while staying on the same column, Ctrl + alt + up arrow moves to the previous line.
-Jaws #
+Jaws #
For Jaws, you have to use the Y key and Shift + Y to navigate between tables.
To browse in tables, there are several shortcuts:
@@ -260,9 +260,9 @@ Jaws Insert + shift + up arrow reads the entire line.
- Insert + shift + num pad 5 reads the entire column.
-Table example #
+Table example #
We will now show you examples of accessible tables.
-Simple table #
+Simple table #
The first example is a table with only headers on the columns, so we use the scope="row"
attribute for assistive technologies to interpret it correctly.
<th scope="row">
for a row headerThe
scope
attribute does not solve this problem. A unique id
attribute must be used for each header cell. To link this header to a cell, you must use the headers
attribute and adding the required id
.<th id="toto">Toto</th>
and <th id="tata">Tata</ th>
, the code to link it to a data cell will be <td headers="toto tata">Tota</td>
.Navigating a table using NVDA or JAWS #
To browse in tables, there are several shortcuts:
Jaws Insert + shift + up arrow reads the entire line.
- Insert + shift + num pad 5 reads the entire column.
scope="row"
attribute for assistive technologies to interpret it correctly.