RTL + Theme Accessibility Analysis

undefined

Source markdown: RTL-THEME-ANALYSIS-latest.md

RTL / Theme-Specific Accessibility Analysis

Generated: 2026-05-06 Total crawl records analysed: 2193


Table of Contents#

  1. RTL-Exclusive Issues (Hebrew only, not in English)
  2. RTL-Amplified Issues (worse in Hebrew than English)
  3. Admin (Gin) Theme Only
  4. Claro / Claro Dark Theme Only
  5. Admin + Claro (not Olivero)
  6. Master Priority List (all issues, composite score)
  7. How to Use This Report with the Drupal Issue Queue

RTL-Exclusive Issues#

These violations appear only when Drupal is rendered in Hebrew (RTL). They have zero matching violations in the equivalent English (LTR) page+theme+rule combination. This likely indicates either:

_No purely RTL-exclusive violations found in current dataset._


RTL-Amplified Issues#

These violations exist in both English and Hebrew, but appear more frequently in Hebrew/RTL contexts. The amplification ratio shows RTL-instance-count Γ· LTR-instance-count.

2 issues are more severe in RTL.

#RuleImpactThemePathSelectorLTR nodesRTL nodesRatio
1color-contrast🟠 Seriousadmin/admin/structure/types/add#edit-save-continue341.33Γ—
2color-contrast🟠 Seriousadmin/admin/structure/types/add#edit-submit341.33Γ—

Admin (Gin) Theme Only#

These violations are found in the Admin/Gin theme but not in Claro or Olivero. Issues here are specific to the Gin administration theme which ships separately from Drupal core.

#RuleImpactSelectorPagesNode count
1color-contrast🟠 Seriousa[hreflang="he"]17131
2color-contrast🟠 Seriousa[hreflang="en"]16123
3label-title-only🟠 Serious.gin--sticky-table-header > thead > tr > .select-all.gin--st188
4label-title-only🟠 Serious.views-table > thead > tr > .select-all.gin--sticky-bulk-sel188
5color-contrast🟠 Serious.button--action321
6color-contrast🟠 Serioussummary[aria-controls="edit-submission"] > .gin-details__sum120
7color-contrast🟠 Serioussummary[aria-controls="edit-workflow"] > .gin-details__summa120
8color-contrast🟠 Serioussummary[aria-controls="edit-language"] > .gin-details__summa120
9color-contrast🟠 Serioussummary[aria-controls="edit-display"] > .gin-details__summar120
10color-contrast🟠 Seriousp:nth-child(1) > a211
11color-contrast🟠 Serious.feed-icon18
12color-contrast🟠 Seriousa[href="/"]18
13color-contrast🟠 Seriousa[href="/he"]18
14color-contrast🟠 Serious#action-link-no-icon18
15color-contrast🟠 Serious#action-link-no-icon--218
16color-contrast🟠 Serious#action-link-no-icon--318
17color-contrast🟠 Serious#action-link-no-icon--418
18color-contrast🟠 Serious#action-link-no-icon--518
19color-contrast🟠 Serious#action-link-no-icon--618
20color-contrast🟠 Serious#action-link-plus18
21color-contrast🟠 Serious#action-link-plus--218
22color-contrast🟠 Serious#action-link-plus--318
23color-contrast🟠 Serious#action-link-plus--418
24color-contrast🟠 Serious#action-link-plus--518
25color-contrast🟠 Serious#action-link-plus--618
26color-contrast🟠 Serious#action-link-trash18
27color-contrast🟠 Serious#action-link-trash--318
28color-contrast🟠 Serious#action-link-trash--518
29color-contrast🟠 Serious#action-link-cog18
30color-contrast🟠 Serious#action-link-cog--218
31color-contrast🟠 Serious#action-link-cog--318
32color-contrast🟠 Serious#action-link-cog--418
33color-contrast🟠 Serious#action-link-cog--518
34color-contrast🟠 Serious#action-link-cog--618
35color-contrast🟠 Serious#action-link-ex18
36color-contrast🟠 Serious#action-link-ex--218
37color-contrast🟠 Serious#action-link-ex--318
38color-contrast🟠 Serious#action-link-ex--418
39color-contrast🟠 Serious#action-link-ex--518
40color-contrast🟠 Serious#action-link-ex--618
41color-contrast🟠 Serious#action-link-checkmark18
42color-contrast🟠 Serious#action-link-checkmark--218
43color-contrast🟠 Serious#action-link-checkmark--318
44color-contrast🟠 Serious#action-link-checkmark--418
45color-contrast🟠 Serious#action-link-checkmark--518
46color-contrast🟠 Serious#action-link-checkmark--618
47color-contrast🟠 Serious#action-link-show18
48color-contrast🟠 Serious#action-link-show--218
49color-contrast🟠 Serious#action-link-show--318
50color-contrast🟠 Serious#action-link-show--418
51color-contrast🟠 Serious#action-link-show--518
52color-contrast🟠 Serious#action-link-show--618
53color-contrast🟠 Serious#action-link-hide18
54color-contrast🟠 Serious#action-link-hide--218
55color-contrast🟠 Serious#action-link-hide--318
56color-contrast🟠 Serious#action-link-hide--418
57color-contrast🟠 Serious#action-link-hide--518
58color-contrast🟠 Serious#action-link-hide--618
59color-contrast🟠 Seriousp:nth-child(2) > a[href$="block"]18
60color-contrast🟠 Serious.language-link[aria-current="page"][href$="content"]18
61color-contrast🟠 Seriousp:nth-child(2) > a18
62color-contrast🟠 Serious.compact-link > a18
63color-contrast🟠 Seriousinput[value="Search"]18
64color-contrast🟠 Seriousa[href="/system/404"]18
65color-contrast🟠 Seriousa[href="/he/system/404"]18
66color-contrast🟠 Seriousinput[value="Log in"]18
67color-contrast🟠 Seriousinput[value="Submit"]18
68color-contrast🟠 Seriousa[href="/system/403"]18
69color-contrast🟠 Seriousa[href="/he/system/403"]18
70color-contrast🟠 Serious#edit-save-continue17
71color-contrast🟠 Serious.tabs__link.js-tabs-link[aria-current="page"]16
72color-contrast🟠 Seriousp:nth-child(2) > a[href$="updates"]13
73color-contrast🟠 Seriousa[href$="update.php"]13
74region🟑 Moderate.top-bar__actions3264
75heading-order🟑 Moderatediv[data-drupal-selector="edit-test-datelist"] > h4188
76region🟑 Moderate#secondary-tabs-title188

Claro Theme Only#

These violations exist in Claro or Claro-Dark but not in Admin or Olivero. Issues here belong to Drupal core's Claro administration theme.

#RuleImpactSelectorPagesNode count
1labelπŸ”΄ Critical#edit-imagefile-file-limited-0-display18
2labelπŸ”΄ Critical#edit-imagefile-file-limited-1-display18
3labelπŸ”΄ Critical#edit-imagefile-file-limited-dis-0-display18
4labelπŸ”΄ Critical#edit-imagefile-file-limited-dis-1-display18
5label-title-only🟠 Seriousinput[title="Select all rows in this table"]324
6color-contrast🟠 Serioustr[data-drupal-selector="edit-blocks-claro-help"] > td:nth-c18
7color-contrast🟠 Serious.block-disabled.draggable[data-once="claroTabledrag"]:nth-ch18
8color-contrast🟠 Serious.region-hidden-message > td[colspan="9"]18
9tabindex🟠 Serious#edit-submit18
10tabindex🟠 Serious#edit-danger18
11tabindex🟠 Serious#edit-cancel18
12tabindex🟠 Serious#edit-submit--218
13tabindex🟠 Serious#edit-danger--218
14tabindex🟠 Serious#edit-cancel--218
15label-title-only🟠 Serious#edit-checkbox-hidden-label-value18
16label-title-only🟠 Serious#edit-checkbox-hidden-label-disabled-value18
17landmark-contentinfo-is-top-level🟑 Moderate.messages-list__item18
18heading-order🟑 Moderate.form-datetime-wrapper.form-item:nth-child(4) > h418
19heading-order🟑 Moderateh418
20heading-order🟑 Moderate.layout-column.layout-column--half:nth-child(1) > .panel:nth18
21heading-order🟑 Moderate#multitext-unlimited-values > thead > tr > .field-label[cols18
22heading-order🟑 Moderate#presuf-formatted-m-values > thead > tr > .field-label[colsp18
23heading-order🟑 Moderate#presuf-number-m-values > thead > tr > .field-label[colspan=18
24heading-order🟑 Moderate#presuf-text-m-values > thead > tr > .field-label[colspan="218
25heading-order🟑 Moderate#edit-timestamp-wrapper > .form-datetime-wrapper.form-item >18
26landmark-contentinfo-is-top-level🟑 Moderate.messages--status18
27landmark-contentinfo-is-top-level🟑 Moderate.messages--info18
28landmark-contentinfo-is-top-level🟑 Moderate.messages--custom18
29landmark-no-duplicate-contentinfo🟑 Moderate.messages--status18
30landmark-unique🟑 Moderate.messages--info18
31empty-headingπŸ”΅ Minorh3:nth-child(3)216
32empty-headingπŸ”΅ Minorh3:nth-child(4)216
33empty-headingπŸ”΅ Minorh3:nth-child(5)216
34empty-headingπŸ”΅ Minorh3:nth-child(6)216
35empty-table-headerπŸ”΅ Minorth:nth-child(2)18
36empty-table-headerπŸ”΅ Minor#multitext-unlimited-values > thead > tr > th:nth-child(2)18
37empty-table-headerπŸ”΅ Minor#multitext-unlimited-disabled-values > thead > tr > th:nth-c18
38empty-table-headerπŸ”΅ Minor#multitext-unlimited-required-values > thead > tr > th:nth-c18
39empty-table-headerπŸ”΅ Minor#multitext-unlimited-required-dis-values > thead > tr > th:n18
40empty-table-headerπŸ”΅ Minor#multitext-limited-values > thead > tr > th:nth-child(2)18
41empty-table-headerπŸ”΅ Minor#multitext-limited-disabled-values > thead > tr > th:nth-chi18
42empty-table-headerπŸ”΅ Minor#multitext-limited-required-values > thead > tr > th:nth-chi18
43empty-table-headerπŸ”΅ Minor#multitext-limited-required-dis-values > thead > tr > th:nth18
44empty-table-headerπŸ”΅ Minor#presuf-formatted-m-values > thead > tr > th:nth-child(2)18
45empty-table-headerπŸ”΅ Minor#presuf-formatted-pre-m-values > thead > tr > th:nth-child(218
46empty-table-headerπŸ”΅ Minor#presuf-formatted-suf-m-values > thead > tr > th:nth-child(218
47empty-table-headerπŸ”΅ Minor#presuf-formatted-pre-suf-m-values > thead > tr > th:nth-chi18
48empty-table-headerπŸ”΅ Minor#presuf-number-m-values > thead > tr > th:nth-child(2)18
49empty-table-headerπŸ”΅ Minor#presuf-number-pre-m-values > thead > tr > th:nth-child(2)18
50empty-table-headerπŸ”΅ Minor#presuf-number-suf-m-values > thead > tr > th:nth-child(2)18
51empty-table-headerπŸ”΅ Minor#presuf-number-pre-suf-m-values > thead > tr > th:nth-child(18
52empty-table-headerπŸ”΅ Minor#presuf-text-m-values > thead > tr > th:nth-child(2)18
53empty-table-headerπŸ”΅ Minor#presuf-text-pre-m-values > thead > tr > th:nth-child(2)18
54empty-table-headerπŸ”΅ Minor#presuf-text-suf-m-values > thead > tr > th:nth-child(2)18
55empty-table-headerπŸ”΅ Minor#presuf-text-pre-suf-m-values > thead > tr > th:nth-child(2)18
56empty-headingπŸ”΅ Minorh3:nth-child(7)18
57empty-headingπŸ”΅ Minorh3:nth-child(8)18
58empty-table-headerπŸ”΅ Minor#edit-table-empty > thead > tr > .select-all18
59empty-headingπŸ”΅ Minor#block-claro-content > h318
60empty-headingπŸ”΅ Minor#block-claro-content > h3:nth-child(1)18
61empty-headingπŸ”΅ Minorh3:nth-child(2)18

Admin and Claro (not Olivero)#

These violations appear in admin-facing themes (Gin and/or Claro) but not in Olivero (the front-end theme). This makes them administration UI issues rather than front-end concerns, and the most relevant for the Admin theme accessibility report.

7 selector/rule combinations found only in admin-facing themes.

#RuleImpactThemesSelectorTotal nodesDrupal core?
1color-contrast🟠 Seriousadmin, claro-dark, claro#edit-submit88βœ… Yes (Claro)
2summary-name🟠 Seriousadmin, claro-dark, claro#edit-modules-nyan-cat-enable-description > .module-lis24βœ… Yes (Claro)
3landmark-contentinfo-is-top-level🟑 Moderateadmin, claro-dark, claro.messages--error153βœ… Yes (Claro)
4landmark-contentinfo-is-top-level🟑 Moderateadmin, claro-dark, claro.messages--warning153βœ… Yes (Claro)
5landmark-no-duplicate-contentinfo🟑 Moderateadmin, claro-dark, claro.messages--error145βœ… Yes (Claro)
6heading-order🟑 Moderateadmin, claro-dark, claro#pagination-heading96βœ… Yes (Claro)
7empty-headingπŸ”΅ Minoradmin, claro-dark, claroh196βœ… Yes (Claro)

Admin + Claro Details#

AC-1: color-contrast β€” #edit-submit#

``html <input data-drupal-selector="edit-submit" type="submit" id="edit-submit" name="op" value="Save configuration" class="button button--primary js-form-submit form-submit"> ``

AC-2: summary-name β€” #edit-modules-nyan-cat-enable-description > .module-list__module-summary#

``html <summary aria-controls="edit-modules-nyan-cat-enable-description" role="button" aria-expanded="false" class="gin-details__summary module-list__module-summary"><span class="text module-description"></s ``

AC-3: landmark-contentinfo-is-top-level β€” .messages--error#

``html <div role="contentinfo" aria-labelledby="message-error-title" class="messages-list__item messages messages--error"> ``

AC-4: landmark-contentinfo-is-top-level β€” .messages--warning#

``html <div role="contentinfo" aria-labelledby="message-warning-title" class="messages-list__item messages messages--warning"> ``

AC-5: landmark-no-duplicate-contentinfo β€” .messages--error#

``html <div role="contentinfo" aria-labelledby="message-error-title" class="messages-list__item messages messages--error"> ``

AC-6: heading-order β€” #pagination-heading#

``html <h4 id="pagination-heading" class="visually-hidden">Pagination</h4> ``

AC-7: empty-heading β€” h1#

``html <h1 class="page-title"></h1> ``


Master Priority List#

Composite score = impactWeight Γ— logβ‚‚(1 + uniquePathCount). Impact weights: Critical=4, Serious=3, Moderate=2, Minor=1. This ranks issues that are both severe and widespread highest.

RankScoreRuleImpactUnique pathsNodesAdmin/Claro?RTL effectThemes
112.51color-contrast🟠 Serious17131βœ… Admin/Claroβ€”admin
212.262color-contrast🟠 Serious16123βœ… Admin/Claroβ€”admin
311.51region🟑 Moderate532193🌐 Allβ€”admin, claro-dark, claro…
410.755color-contrast🟠 Serious1188βœ… Admin/Claroβ€”admin, claro-dark, claro
56region🟑 Moderate7585🌐 Allβ€”admin, olivero-dark, olivero
66color-contrast🟠 Serious321βœ… Admin/Claroβ€”admin
76label-title-only🟠 Serious324βœ… Admin/Claroβ€”claro-dark, claro
84.755color-contrast🟠 Serious211βœ… Admin/Claroβ€”admin
94landmark-contentinfo-is-top-level🟑 Moderate3153βœ… Admin/Claroβ€”admin, claro-dark, claro
104landmark-contentinfo-is-top-level🟑 Moderate3153βœ… Admin/Claroβ€”admin, claro-dark, claro
114region🟑 Moderate3264βœ… Admin/Claroβ€”admin
124labelπŸ”΄ Critical18βœ… Admin/Claroβ€”claro-dark, claro
134labelπŸ”΄ Critical18βœ… Admin/Claroβ€”claro-dark, claro
144labelπŸ”΄ Critical18βœ… Admin/Claroβ€”claro-dark, claro
154labelπŸ”΄ Critical18βœ… Admin/Claroβ€”claro-dark, claro
163.17landmark-no-duplicate-contentinfo🟑 Moderate2145βœ… Admin/Claroβ€”admin, claro-dark, claro
173color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
183color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
193color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
203color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
213color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
223color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
233color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
243color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
253color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
263color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
273color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
283color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
293color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin
303color-contrast🟠 Serious18βœ… Admin/Claroβ€”admin

Drupal Issue Queue#

Each issue below links directly to a filtered Drupal.org issue queue search. When filing or updating issues, include the pattern ID (DRU-XXXXXXXX from bugs-latest.json), the axe rule ID, the WCAG criterion, and the HTML snippet from this report.

Search Drupal issue queue

Search Drupal issue queue

Search Drupal issue queue

Search Drupal issue queue

Search Drupal issue queue

Search Drupal issue queue

RTL-specific issues β€” Hebrew/RTL component in Drupal core#

RTL-exclusive issues should be filed/searched against the Language or RTL tags in addition to Accessibility:

Admin/Gin theme issues#

The Admin theme in this test matrix corresponds to the Gin theme. Issues specific to Gin should be searched/filed against the Gin project: