a11y NPM Resource Changed PR-6.2-dev Pending

User tests: Successful: Unsuccessful:

avatar Nikhil-sinhaa
Nikhil-sinhaa
6 Nov 2026

Pull Request resolves #48404 .

  • I read the Generative AI policy and my contribution is either not created with the help of AI or is compatible with the policy and GNU/GPL 2 or later.

Summary of Changes

Three functional/informative icons in the Atum administrator template were below the WCAG 2.2 SC 1.4.11 (Non-text Contrast) minimum of 3:1. Each is fixed separately (SCSS only, no PHP/JS changes):

  1. Guided Tours cancel icon (blocks/_shepard-modals.scss): the icon used Shepherd's default hsla(0,0%,50%,.75) on the rgb(230,230,230) header in light mode. It now uses an opaque #6c6c6c, and hover/keyboard focus use black. Dark mode is unchanged.
  2. Category remove "×" (vendor/choicesjs/choices.scss): the default state used opacity: .5, now opacity: .75. Hover/focus (opacity 1) and the focus treatment are unchanged. This applies to every Choices.js remove button in Atum.
  3. MFA default star (pages/_com_users.scss): the star used .text-warning (rgb(255,181,20)) on a near-white card. In light mode it now uses #b07a00. Dark mode keeps the original yellow.

Measured contrast (light mode, after alpha/opacity compositing):

Icon Before After
Guided Tours cancel X 2.27:1 4.21:1
Category remove × ~3.1:1 ~6.4:1
MFA default star 1.72:1 3.63:1

Notes:

  • The audit's 1.66:1 figure for the category × did not reproduce numerically here (~3.1:1 before), but the icon was clearly faint, so it was raised well above 3:1.
  • The default-star markup exists only in administrator/components/com_users/tmpl/methods/list.php, so it covers every MFA method marked as default.
  • Cassiopeia (frontend) has similar patterns (its own choices.scss and the site com_users methods template). They are not part of this issue and are not changed here.

Testing Instructions

Apply the PR and run npm ci && npm run build so the Atum CSS is rebuilt. Use Atum in light mode, then repeat in dark mode.

  1. Guided Tours: click Guided Tours in the header, start any tour, and inspect the "Cancel ×" icon (default, hover, keyboard focus).
  2. Category: open any article that has a category and inspect the small × in the Category field (default, hover, keyboard focus). Do not click it.
  3. MFA star: edit a user → Multi-factor Authentication, add a Verification code (TOTP) method with "Make this the default" ticked, and inspect the star next to its title.

Measure the icon colour against its background with any contrast checker. Also try a narrow viewport (about 640px wide, equivalent to 200% zoom).

Actual result BEFORE applying this Pull Request

In light mode:

  • Guided Tours cancel icon: rgba(128,128,128,.75) on #e6e6e6, about 2.27:1.
  • Category remove ×: rendered at 50% opacity, so it looks faint until hovered or focused.
  • MFA default star: rgb(255,181,20) on a near-white card, about 1.72:1.

Guided Tours cancel icon:
before cancel icon

Category remove ×:
before category remove

MFA default star:
before MFA star

Expected result AFTER applying this Pull Request

In light mode all three icons are at least 3:1 in their default state:

  • Guided Tours cancel icon: about 4.2:1, black on hover and keyboard focus (focus ring kept).
  • Category remove ×: about 6.4:1, hover/focus unchanged.
  • MFA default star: about 3.6:1.

Dark mode, hover, keyboard focus and the narrow viewport behave as before or better. Checked in Firefox and Chrome (computed values).

Guided Tours cancel icon:
after cancel icon

Category remove ×:
after category remove

MFA default star:
after MFA star

Link to documentations

Please select:

  • Documentation link for guide.joomla.org:

  • No documentation changes for guide.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar Nikhil-sinhaa Nikhil-sinhaa - open - 6 Nov 2026
avatar Nikhil-sinhaa Nikhil-sinhaa - change - 6 Nov 2026
Status New ⇒ Pending
avatar joomla-cms-bot joomla-cms-bot - change - 6 Nov 2026
Category ⇒ NPM Change
avatar brianteeman
brianteeman - comment - 6 Nov 2026

Can you please keep each issue to its own pull request and not just group them into a single pr

it makes it easier to test and track

avatar Nikhil-sinhaa Nikhil-sinhaa - change - 6 Nov 2026
Status Pending ⇒ Closed
Closed_Date 0000-00-00 00:00:00 ⇒ 2026-11-06 14:31:07
Closed_By ⇒ Nikhil-sinhaa
Labels Added: a11y NPM Resource Changed PR-6.2-dev
avatar Nikhil-sinhaa Nikhil-sinhaa - close - 6 Nov 2026
avatar Nikhil-sinhaa
Nikhil-sinhaa - comment - 6 Nov 2026

Split into #48802, #48803 and #48804 as requested, one PR per icon. Thanks @brianteeman

avatar brianteeman
brianteeman - comment - 6 Nov 2026

Thanks for doing that

Add a Comment

Login with GitHub to post a comment