Accessibility Report: Admin / Gin Theme

undefined

Source markdown: themes/admin-latest.md

Accessibility Report: Admin / Gin Theme

Generated: 2026-05-06 Crawl records for this theme group: 1713


About Admin / Gin#

The Gin administration theme (admin) — a contributed theme for Drupal that replaces the default toolbar and admin UI. Issues here should be reported to the Gin project issue queue.

Issue queue: Gin project issue queue


Summary by Rule#

Composite score = impactWeight × log₂(1 + uniquePageCount). Higher = higher priority.

RankScoreRuleImpactWCAGUnique pagesTotal nodesSelectors
113.177color-contrast🟠 Serious1.4.3 (AA)2092972
28.785region🟡 Moderate1.3.6 (AAA)2026344
33.17landmark-contentinfo-is-top-level🟡 Moderate1.3.6 (AAA)22582
43.17heading-order🟡 Moderate1.3.1 (A)21762
53.17landmark-no-duplicate-contentinfo🟡 Moderate1.3.6 (AAA)21291
63label-title-only🟠 Serious1.3.1 (A)11762
73summary-name🟠 Serious4.1.2 (A)1221
81empty-heading🔵 Minor2.4.6 (AA)1881

Rule Details#

  1. color-contrast
  2. region
  3. landmark-contentinfo-is-top-level
  4. heading-order
  5. landmark-no-duplicate-contentinfo
  6. label-title-only
  7. summary-name
  8. empty-heading

color-contrast {#rule-color-contrast}#

Impact: 🟠 Serious WCAG: 1.4.3 — Contrast (Minimum) (Level AA) Axe docs: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright Unique pages affected: 20 Total violation nodes: 929 Composite score: 13.177

Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds

Failing selectors#

SelectorThemesPages affectedNodes
a[hreflang="he"]admin17131
a[hreflang="en"]admin16123
#edit-submitadmin1072
.button--actionadmin321
p:nth-child(1) > aadmin211
summary[aria-controls="edit-submission"] > .gin-details__summary-summaryadmin120
summary[aria-controls="edit-workflow"] > .gin-details__summary-summaryadmin120
summary[aria-controls="edit-language"] > .gin-details__summary-summaryadmin120
summary[aria-controls="edit-display"] > .gin-details__summary-summaryadmin120
.feed-iconadmin18
a[href="/"]admin18
a[href="/he"]admin18
#action-link-no-iconadmin18
#action-link-no-icon--2admin18
#action-link-no-icon--3admin18
#action-link-no-icon--4admin18
#action-link-no-icon--5admin18
#action-link-no-icon--6admin18
#action-link-plusadmin18
#action-link-plus--2admin18
#action-link-plus--3admin18
#action-link-plus--4admin18
#action-link-plus--5admin18
#action-link-plus--6admin18
#action-link-trashadmin18
#action-link-trash--3admin18
#action-link-trash--5admin18
#action-link-cogadmin18
#action-link-cog--2admin18
#action-link-cog--3admin18
#action-link-cog--4admin18
#action-link-cog--5admin18
#action-link-cog--6admin18
#action-link-exadmin18
#action-link-ex--2admin18
#action-link-ex--3admin18
#action-link-ex--4admin18
#action-link-ex--5admin18
#action-link-ex--6admin18
#action-link-checkmarkadmin18
#action-link-checkmark--2admin18
#action-link-checkmark--3admin18
#action-link-checkmark--4admin18
#action-link-checkmark--5admin18
#action-link-checkmark--6admin18
#action-link-showadmin18
#action-link-show--2admin18
#action-link-show--3admin18
#action-link-show--4admin18
#action-link-show--5admin18
#action-link-show--6admin18
#action-link-hideadmin18
#action-link-hide--2admin18
#action-link-hide--3admin18
#action-link-hide--4admin18
#action-link-hide--5admin18
#action-link-hide--6admin18
p:nth-child(2) > a[href$="block"]admin18
.language-link[aria-current="page"][href$="content"]admin18
p:nth-child(2) > aadmin18
.compact-link > aadmin18
input[value="Search"]admin18
a[href="/system/404"]admin18
a[href="/he/system/404"]admin18
input[value="Log in"]admin18
input[value="Submit"]admin18
a[href="/system/403"]admin18
a[href="/he/system/403"]admin18
#edit-save-continueadmin17
.tabs__link.js-tabs-link[aria-current="page"]admin16
p:nth-child(2) > a[href$="updates"]admin13
a[href$="update.php"]admin13

Details#

1. Selector: a[hreflang="he"]

_Element has insufficient color contrast of 4.38 (foreground color: #c55228, background color: #fefaf8, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1_

<a href="/he/action-link" class="language-link" hreflang="he" data-drupal-link-system-path="action-link">Hebrew</a>

Pages: /action-link, /admin, /admin/appearance, /admin/content, /admin/form_style, /admin/modules, /admin/structure, /admin/structure/block +9 more

2. Selector: a[hreflang="en"]

_Element has insufficient color contrast of 4.38 (foreground color: #c55228, background color: #fefaf8, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1_

<a href="/action-link" class="language-link is-active" hreflang="en" data-drupal-link-system-path="action-link" aria-current="page">English</a>

Pages: /action-link, /admin, /admin/appearance, /admin/form_style, /admin/modules, /admin/structure, /admin/structure/block, /admin/structure/taxonomy +8 more

3. Selector: #edit-submit

_Element has insufficient color contrast of 3.73 (foreground color: #131313, background color: #956707, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1_

<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">

Pages: /admin/appearance, /admin/content, /admin/form_style, /admin/modules, /admin/structure/block, /admin/structure/taxonomy, /admin/structure/taxonomy/add, /admin/structure/types/add +2 more

4. Selector: .button--action

_Element has insufficient color contrast of 3.68 (foreground color: #141414, background color: #946708, font size: 9.8pt (13px), font weight: normal). Expected contrast ratio of 4.5:1_

<a href="/node/add" class="button button--action button--primary" data-drupal-link-system-path="node/add">Add content</a>

Pages: /admin/content, /admin/structure/taxonomy, /admin/structure/types

5. Selector: p:nth-child(1) > a

_Element has insufficient color contrast of 4.38 (foreground color: #c55228, background color: #fefaf8, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1_

<a href="https://www.drupal.org/project/project_theme">themes</a>

Pages: /admin/appearance, /admin/modules

Search Drupal issue queue: color-contrast + Accessibility


region {#rule-region}#

Impact: 🟡 Moderate WCAG: 1.3.6 — Identify Purpose (Level AAA) Axe docs: https://dequeuniversity.com/rules/axe/4.11/region?application=playwright Unique pages affected: 20 Total violation nodes: 2634 Composite score: 8.785

Ensure all page content is contained by landmarks

Failing selectors#

SelectorThemesPages affectedNodes
.themeswitcher-form__form-itemadmin201713
#primary-tabs-titleadmin7569
.top-bar__actionsadmin3264
#secondary-tabs-titleadmin188

Details#

1. Selector: .themeswitcher-form__form-item

_Some page content is not contained by landmarks_

<div class="themeswitcher-form__form-item js-form-item form-item js-form-type-select form-type--select js-form-item-preferred-theme form-item--preferred-theme">

Pages: /, /action-link, /admin, /admin/appearance, /admin/content, /admin/form_style, /admin/modules, /admin/structure +12 more

2. Selector: #primary-tabs-title

_Some page content is not contained by landmarks_

<h2 id="primary-tabs-title" class="visually-hidden">Primary tabs</h2>

Pages: /admin, /admin/appearance, /admin/content, /admin/modules, /admin/structure/types, /user/login, /user/password

3. Selector: .top-bar__actions

_Some page content is not contained by landmarks_

<div class="top-bar__actions">

Pages: /admin/content, /admin/structure/taxonomy, /admin/structure/types

4. Selector: #secondary-tabs-title

_Some page content is not contained by landmarks_

<h2 id="secondary-tabs-title" class="visually-hidden">Secondary tabs</h2>

Pages: /admin/structure/block

Search Drupal issue queue: region + Accessibility


landmark-contentinfo-is-top-level {#rule-landmark-contentinfo-is-top-level}#

Impact: 🟡 Moderate WCAG: 1.3.6 — Identify Purpose (Level AAA) Axe docs: https://dequeuniversity.com/rules/axe/4.11/landmark-contentinfo-is-top-level?application=playwright Unique pages affected: 2 Total violation nodes: 258 Composite score: 3.17

Ensure the contentinfo landmark is at top level

Failing selectors#

SelectorThemesPages affectedNodes
.messages--erroradmin2129
.messages--warningadmin2129

Details#

1. Selector: .messages--error

_The contentinfo landmark is contained in another landmark._

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

Pages: /admin/appearance, /admin/modules

2. Selector: .messages--warning

_The contentinfo landmark is contained in another landmark._

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

Pages: /admin/appearance, /admin/modules

Search Drupal issue queue: landmark-contentinfo-is-top-level + Accessibility


heading-order {#rule-heading-order}#

Impact: 🟡 Moderate WCAG: 1.3.1 — Info and Relationships (Level A) Axe docs: https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright Unique pages affected: 2 Total violation nodes: 176 Composite score: 3.17

Ensure the order of headings is semantically correct

Failing selectors#

SelectorThemesPages affectedNodes
#pagination-headingadmin188
div[data-drupal-selector="edit-test-datelist"] > h4admin188

Details#

1. Selector: #pagination-heading

_Heading order invalid_

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

Pages: /admin/content

2. Selector: div[data-drupal-selector="edit-test-datelist"] > h4

_Heading order invalid_

<h4 class="form-item__label">Datelist</h4>

Pages: /admin/form_style

Search Drupal issue queue: heading-order + Accessibility


landmark-no-duplicate-contentinfo {#rule-landmark-no-duplicate-contentinfo}#

Impact: 🟡 Moderate WCAG: 1.3.6 — Identify Purpose (Level AAA) Axe docs: https://dequeuniversity.com/rules/axe/4.11/landmark-no-duplicate-contentinfo?application=playwright Unique pages affected: 2 Total violation nodes: 129 Composite score: 3.17

Ensure the document has at most one contentinfo landmark

Failing selectors#

SelectorThemesPages affectedNodes
.messages--erroradmin2129

Details#

1. Selector: .messages--error

_Document has more than one contentinfo landmark_

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

Pages: /admin/appearance, /admin/modules

Search Drupal issue queue: landmark-no-duplicate-contentinfo + Accessibility


label-title-only {#rule-label-title-only}#

Impact: 🟠 Serious WCAG: 1.3.1 — Info and Relationships (Level A) Axe docs: https://dequeuniversity.com/rules/axe/4.11/label-title-only?application=playwright Unique pages affected: 1 Total violation nodes: 176 Composite score: 3

Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes

Failing selectors#

SelectorThemesPages affectedNodes
.gin--sticky-table-header > thead > tr > .select-all.gin--sticky-bulk-select > .admin188
.views-table > thead > tr > .select-all.gin--sticky-bulk-select > .form-checkboxadmin188

Details#

1. Selector: .gin--sticky-table-header > thead > tr > .select-all.gin--sticky-bulk-select > .form-checkbox.form-b

_Only title used to generate label for form element_

<input type="checkbox" class="form-checkbox form-boolean form-boolean--type-checkbox" title="Select all rows in this table">

Pages: /admin/content

2. Selector: .views-table > thead > tr > .select-all.gin--sticky-bulk-select > .form-checkbox.form-boolean[title=

_Only title used to generate label for form element_

<input type="checkbox" class="form-checkbox form-boolean form-boolean--type-checkbox" title="Select all rows in this table">

Pages: /admin/content

Search Drupal issue queue: label-title-only + Accessibility


summary-name {#rule-summary-name}#

Impact: 🟠 Serious WCAG: 4.1.2 — Name, Role, Value (Level A) Axe docs: https://dequeuniversity.com/rules/axe/4.11/summary-name?application=playwright Unique pages affected: 1 Total violation nodes: 22 Composite score: 3

Ensure summary elements have discernible text

Failing selectors#

SelectorThemesPages affectedNodes
#edit-modules-nyan-cat-enable-description > .module-list__module-summaryadmin122

Details#

1. Selector: #edit-modules-nyan-cat-enable-description > .module-list__module-summary

_Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attribute_

<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"></span><span class="gin-details__summary-summary"></span></summary>

Pages: /admin/modules

Search Drupal issue queue: summary-name + Accessibility


empty-heading {#rule-empty-heading}#

Impact: 🔵 Minor WCAG: 2.4.6 — Headings and Labels (Level AA) Axe docs: https://dequeuniversity.com/rules/axe/4.11/empty-heading?application=playwright Unique pages affected: 1 Total violation nodes: 88 Composite score: 1

Ensure headings have discernible text

Failing selectors#

SelectorThemesPages affectedNodes
h1admin188

Details#

1. Selector: h1

_Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attribute_

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

Pages: /

Search Drupal issue queue: empty-heading + Accessibility


How to File Issues#

When filing accessibility issues for the Admin / Gin theme, include:

  1. The axe rule ID (e.g. color-contrast, label)
  2. The WCAG Success Criterion — see the Summary table above
  3. The failing selector and HTML snippet from the Rule Details above
  4. Which pages are affected — listed per selector
  5. Steps to reproduce — load the page in Drupal, run axe in browser DevTools

File against: Gin project issue queue

Add the tag Accessibility and reference the WCAG criterion in the issue summary.