Steps to reproduce the issue
| Milestone 1a finding ID |
M1a-035 |
| Backlog priority |
High |
| Severity — carried from Milestone 1a |
Serious |
| Implementation effort |
Medium |
| Target milestone(s) |
MS2a — Design Tokens and Core Components; MS3a — Frontend Template Build; MS3b — Backend Template Build |
| WCAG 2.2 success criterion |
1.4.11 Non-text Contrast |
| Responsibility tag(s) from report |
Design |
| Affected Joomla area/component |
Update Joomla checkboxes and frontend login Remember me checkbox — Milestone 1a finding #35 |
| Affected user journey(s) |
02 — Frontend Template (Cassiopeia); 03 — Authentication Flows (FE + BE Login); 12 — Update Joomla |


Audit finding
Some checkboxes have borders that are difficult to distinguish from their surrounding backgrounds.
The report documents examples in Update Joomla and the frontend login form's Remember me option. It describes poor visibility in both light and dark appearances, with the boundary particularly difficult to see in dark appearance.
The report also notes that enabling the high-contrast option in Joomla's user settings does not resolve the problem.
The primary reported defect is the visibility of the checkbox boundary, not the contrast of its text label.
User impact
People with low vision may see the checkbox label but not the box they can select. They may overlook the option or have difficulty locating its pointer target.
In the update workflow, a difficult-to-see checkbox can make an acknowledgement step harder to find and complete.
On the login form, the faint Remember me checkbox makes the optional login preference less discoverable.
The issue can be particularly confusing when an unchecked box blends into the background but becomes more apparent after selection or focus. Users need to identify the control before interacting with it.
Remediation plan
Make the visible parts needed to identify each enabled checkbox and its state sufficiently distinct from adjacent colours
- Give the checkbox boundary a contrast ratio of at least 3:1 against the adjacent background where that boundary is needed to identify the control
- Check both the checkbox's surrounding surface and its interior where they affect boundary visibility
- Define suitable colours for light and dark appearances rather than assuming one border colour works in both
- Verify the actual rendered colours after opacity, inherited styles, and theme overrides are applied
- Ensure that the control remains identifiable when unchecked, not only when hovered, focused, or checked
- Verify that the checked-state indicator remains distinguishable from its background
- Preserve a separate, visible keyboard-focus treatment
- Ensure that Joomla's high-contrast user setting produces a usable result rather than retaining the same faint boundary
- Apply the corrected styling consistently to the documented frontend and backend examples
- Assess genuinely inactive controls separately rather than treating disabled-state contrast as subject to the same requirement
- Do not rely on increasing text-label contrast alone to fix the checkbox boundary
Preconditions
- Use Joomla 6.2
- Use Atum for administrator testing and Cassiopeia for frontend testing
- Use a test installation for the update workflow
- Sign in with an account permitted to access Joomla Update
- Make a frontend login form containing Remember me available
- Record the exact Joomla build, browser name and version, operating system, viewport dimensions, and browser zoom
- Record the active appearance and any custom template styles or CSS
- Start at 100% browser zoom
- Do not upload an update package or initiate an update to reproduce the contrast issue
Steps to reproduce — Update Joomla
- Open the Joomla administrator interface at the site's base URL followed by
/administrator/
- Open System → Update → Joomla
- Alternatively, navigate to
/administrator/index.php?option=com_joomlaupdate on the same installation
- Record the navigation labels if they differ in the tested build
- Open Upload and Update if available
- Locate the checkbox corresponding to the update example in the report
- Record its exact label and the section in which it appears
- If it appears on a different update view in the tested build, record that view
- If no corresponding checkbox is available, record the missing test state rather than starting an update to expose it
- Confirm whether the checkbox is enabled or genuinely inactive
- Leave it unchecked and move the pointer and keyboard focus elsewhere
- Observe whether the box can be distinguished from the surrounding surface
- Inspect the checkbox's rendered boundary and background using Developer Tools
- Record the border colour, opacity, and adjacent background colour
- Measure the relevant contrast ratio with a contrast-checking tool
- Record whether it reaches 3:1
- Repeat in the available light and dark appearances
- If appropriate on the test installation, check and uncheck the box without activating any update action
- Verify boundary visibility and the checked-state indicator separately
- Capture evidence showing the control, its label, appearance setting, and measured colours
Steps to reproduce — frontend Remember me checkbox
- Open a separate private browsing session or another browser profile
- Navigate to the site's frontend login page or a page containing its login module
- Locate the Remember me option
- Record the page URL and whether the control belongs to a login module or a dedicated login view
- Leave the checkbox unchecked
- Move the pointer away and keep keyboard focus elsewhere
- Inspect the checkbox boundary against its surrounding background
- Record the rendered border and background colours
- Measure the contrast ratio
- Check and uncheck the box without submitting the login form
- Record whether the unchecked boundary and checked-state indicator are both distinguishable
- Use keyboard navigation to check focus visibility separately
- Repeat in any other appearance supported by that frontend configuration
- Do not assume that every Cassiopeia installation provides a dark-appearance switch
Joomla high-contrast setting
- In the test account, locate the high-contrast accessibility preference if available
- Record the preference's exact label and initial value
- Enable it and return to the affected authenticated view
- Repeat the checkbox-boundary measurement
- Record whether the preference changes the relevant colours and resolves the low contrast
- Check whether the preference applies to the logged-out frontend view before attributing that view's result to it
- Restore the original preference if appropriate
Additional verification
- Check the control at 200% browser zoom
- Confirm that custom styling has not removed the visible boundary at a responsive breakpoint
- Record hover, keyboard focus, checked state, and default unchecked state separately
- If testing an operating-system contrast theme or browser forced-colours mode, record it as a separate configuration
- Do not treat it as the same feature as Joomla's high-contrast user preference
- Do not initiate an update or submit the login form during these checks
Version
6.2
Expected result
Enabled checkboxes are visually identifiable before interaction.
Where a boundary is needed to identify the checkbox, it has a contrast ratio of at least 3:1 against the relevant adjacent background.
The checked-state indicator and keyboard focus are also distinguishable, and supported appearance settings do not make the control disappear into its surroundings.
Actual result
The audit reports faint checkbox borders in Update Joomla and the frontend Remember me option.
The borders are difficult to see in light appearance and especially difficult to distinguish in dark appearance.
The report also states that the problem remains when Joomla's high-contrast user setting is enabled.
Exact colour values and contrast ratios need to be recorded for the Joomla 6.2 build and appearance being tested.
What device were you using? (eg, phone, laptop)
Desktop web
What web browser were you using? (eg, Chrome, Safari)
Chrome, Firefox, Edge, Safari
Assistive Technology?
N/A
Additional Comments
The browser entries above are carried forward from the original issue and do not represent a new verification of every browser against Joomla 6.2.
Design is the responsibility tag in the original report.
The source does not provide exact colour values or contrast measurements for these examples. Record measured results rather than borrowing values from a different checkbox finding.
The original issue identifies Upload and Update as an entry point, while the audit describes the example more generally as Update Joomla. Record the exact view and checkbox label reproduced in the tested build.
The report lists frontend and backend authentication within the affected journey category, but its specific login screenshot shows the frontend Remember me example. Do not assume that every login checkbox reproduces the same failure.
Joomla's high-contrast user preference is distinct from operating-system contrast themes and browser forced-colours mode.
MS2a is proposed for checkbox tokens and foundational styling, with MS3a and MS3b covering the documented frontend and backend integrations.