This module automatically adds the `scope` attribute to table header cells (`<th>`) for improved accessibility. It also converts empty header cells into data cells.
In a table, the scope attribute indicates the direction and range of data cells covered by <th> elements. This module provides functionality to automatically set the scope attribute for these table header cells.
Features
The Table Header Scope Attribute module provides text format filters that process <table> elements to improve accessibility:
- Set scope attribute for table headers: Automatically sets the correct
scopeattribute on<th>elements based on their position in the table. - Transform empty table header to table data: Converts empty
<th>elements into<td>elements, as empty headers provide no semantic value.
For example, the following table:
<table>
<thead>
<tr>
<th></th>
<th>Column header 1</th>
<th>Column header 2</th>
</tr>
</thead>
<tbody>
<tr>
<th>Row header 1</th>
<td>Value A</td>
<td>Value B</td>
</tr>
<tr>
<th>Row header 2</th>
<td>Value C</td>
<td>Value D</td>
</tr>
</tbody>
</table>
Will be transformed into:
<table>
<thead>
<tr>
<td></td>
<th scope="col">Column header 1</th>
<th scope="col">Column header 2</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Row header 1</th>
<td>Value A</td>
<td>Value B</td>
</tr>
<tr>
<th scope="row">Row header 2</th>
<td>Value C</td>
<td>Value D</td>
</tr>
</tbody>
</table>
Post-Installation
After installing this module, you can enable its functionality:
- Go to Administration » Configuration » Content authoring » Text formats and editors
- Edit a text format, for example, "Basic HTML"
- Enable both filters:
- "Set scope attribute for table headers"
- "Transform empty table header to table data"
- Ensure the filters are ordered correctly:
- Set scope attribute for table headers" must come before "Transform empty table header to table data"
- Both filters should be below the "Limit allowed HTML tags and correct faulty HTML" filter
Assuming the filters are enabled for a text format that can be used on, e.g., a basic page (node). Create or edit a basic page, then add a table. Indicate the <th> elements in the <table> and save the node. When viewing the (source of the) basic page, the scope attributes are correctly set to the <th> tags.
Ask your assistant about Table Header Scope Attribute
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
- filter Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.