Fix empty `th` elements in admin (accessibility)

- Headings cannot be empty (https://dequeuniversity.com/rules/axe/4.9/empty-table-header)
- Added aria-hidden=true or a suitable label to empty <th> across admin
- Fixes #11596
- Additional related fixes provided in #12203 & #11465
pull/12657/head
Jaivignesh-afk 2024-02-12 21:38:01 +05:30 zatwierdzone przez LB (Ben Johnston)
rodzic fceda14872
commit 13951cf7a5
5 zmienionych plików z 7 dodań i 5 usunięć

Wyświetl plik

@ -27,6 +27,7 @@ Changelog
* Fix: Prevent generic model edit view from unquoting non-integer primary keys multiple times (Matt Westcott)
* Fix: Ensure comments are functional when editing Page models with `read_only` `Fieldpanel`s in use (Strapchay)
* Fix: Ensure the accessible labels and tooltips reflect the correct private/public status on the live link button within pages after changing the privacy (Ayaan Qadri)
* Fix: Fix empty `th` (table heading) elements that are not compliant with accessibility standards (Jai Vignesh J)
* Docs: Move the model reference page from reference/pages to the references section as it covers all Wagtail core models (Srishti Jaiswal)
* Docs: Move the panels reference page from references/pages to the references section as panels are available for any model editing, merge panels API into this page (Srishti Jaiswal)
* Docs: Move the tags documentation to standalone advanced topic, instead of being inside the reference/pages section (Srishti Jaiswal)

Wyświetl plik

@ -24,7 +24,7 @@ exports[`wagtail.contrib.typed_table_block.blocks.TypedTableBlock it renders cor
<div class="typed-table-block__wrapper">
<table>
<thead>
<tr><th></th><th><input type="hidden" name="mytable-column-0-type" value="test_block_a"><input type="hidden" name="mytable-column-0-order" value="0"><button type="button" class="button button-secondary button-small button--icon text-replace prepend-column" aria-label="Insert column" title="Insert column">
<tr><th aria-hidden="true"></th><th><input type="hidden" name="mytable-column-0-type" value="test_block_a"><input type="hidden" name="mytable-column-0-order" value="0"><button type="button" class="button button-secondary button-small button--icon text-replace prepend-column" aria-label="Insert column" title="Insert column">
<svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>
</button><input type="text" name="mytable-column-0-heading" class="column-heading" placeholder="Column heading"><button type="button" class="button button-secondary button-small button--icon text-replace no delete-column" aria-label="Delete column" title="Delete column">
<svg class="icon icon-bin icon" aria-hidden="true"><use href="#icon-bin"></use></svg>
@ -130,7 +130,7 @@ exports[`wagtail.contrib.typed_table_block.blocks.TypedTableBlock setError passe
<div class="typed-table-block__wrapper">
<table>
<thead>
<tr><th></th><th><input type="hidden" name="mytable-column-0-type" value="test_block_a"><input type="hidden" name="mytable-column-0-order" value="0"><button type="button" class="button button-secondary button-small button--icon text-replace prepend-column" aria-label="Insert column" title="Insert column">
<tr><th aria-hidden="true"></th><th><input type="hidden" name="mytable-column-0-type" value="test_block_a"><input type="hidden" name="mytable-column-0-order" value="0"><button type="button" class="button button-secondary button-small button--icon text-replace prepend-column" aria-label="Insert column" title="Insert column">
<svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>
</button><input type="text" name="mytable-column-0-heading" class="column-heading" placeholder="Column heading"><button type="button" class="button button-secondary button-small button--icon text-replace no delete-column" aria-label="Delete column" title="Delete column">
<svg class="icon icon-bin icon" aria-hidden="true"><use href="#icon-bin"></use></svg>
@ -236,7 +236,7 @@ exports[`wagtail.contrib.typed_table_block.blocks.TypedTableBlock setError shows
<div class="typed-table-block__wrapper">
<table>
<thead>
<tr><th></th><th><input type="hidden" name="mytable-column-0-type" value="test_block_a"><input type="hidden" name="mytable-column-0-order" value="0"><button type="button" class="button button-secondary button-small button--icon text-replace prepend-column" aria-label="Insert column" title="Insert column">
<tr><th aria-hidden="true"></th><th><input type="hidden" name="mytable-column-0-type" value="test_block_a"><input type="hidden" name="mytable-column-0-order" value="0"><button type="button" class="button button-secondary button-small button--icon text-replace prepend-column" aria-label="Insert column" title="Insert column">
<svg class="icon icon-plus icon" aria-hidden="true"><use href="#icon-plus"></use></svg>
</button><input type="text" name="mytable-column-0-heading" class="column-heading" placeholder="Column heading"><button type="button" class="button button-secondary button-small button--icon text-replace no delete-column" aria-label="Delete column" title="Delete column">
<svg class="icon icon-bin icon" aria-hidden="true"><use href="#icon-bin"></use></svg>

Wyświetl plik

@ -76,7 +76,7 @@ export class TypedTableBlock {
<table>
<thead>
<tr>
<th></th>
<th aria-hidden="true"></th>
<th class="control-cell">
<button type="button" class="button button-small button-secondary append-column" data-append-column>
${h(strings.ADD_COLUMN)}

Wyświetl plik

@ -39,6 +39,7 @@ depth: 1
* Prevent generic model edit view from unquoting non-integer primary keys multiple times (Matt Westcott)
* Ensure comments are functional when editing Page models with `read_only` `Fieldpanel`s in use (Strapchay)
* Ensure the accessible labels and tooltips reflect the correct private/public status on the live link button within pages after changing the privacy (Ayaan Qadri)
* Fix empty `th` (table heading) elements that are not compliant with accessibility standards (Jai Vignesh J)
### Documentation

Wyświetl plik

@ -17,7 +17,7 @@
<thead>
<tr>
<th>{% trans "Page" %}</th>
<th></th>
<th aria-label="{% trans 'Action' %}"></th>
</tr>
</thead>
<tbody id="id_{{ formset.prefix }}-FORMS">