No Code Attached Yet a11y a11y-audit-backlog a11y-priority-serious (High) Design-System
avatar mbeganyi-a11y
mbeganyi-a11y
8 Sep 2026

Steps to reproduce the issue

Milestone 1a finding ID M1a-018
Backlog priority High
Severity — carried from Milestone 1a Serious
Implementation effort Medium
Target milestone(s) MS3b — Backend Template Build
WCAG 2.2 success criterion 2.4.3 Focus Order
Responsibility tag(s) from report Development
Affected Joomla area/component Backend article editor — dialogs opened from the CMS Content menu — Milestone 1a finding #18
Affected user journey(s) 09 — Backend Edit Form Pattern

Audit finding

Dismissing a dialog opened from the editor's CMS Content menu can leave keyboard focus lost or reset to the beginning of the page.

The menu item that opened the dialog is no longer visible once the menu has closed. When the user cancels or dismisses the dialog without inserting content, focus should therefore return to the visible CMS Content button rather than to the hidden menu item.

Successful insertion is a separate workflow. Returning focus to the editing area and its text caret after inserting content can be appropriate and is not the cancellation failure described here.

User impact

A keyboard user who cancels an insertion dialog loses their place in the editing interface. Instead of continuing from CMS Content, they may need to navigate through the page again to return to the editor or reopen the menu.

For a screen reader user, the missing return point can make it difficult to understand where the interaction has ended. They must locate the editor or its toolbar again before continuing.

This is particularly disruptive when a user opens the wrong dialog, checks the available content and decides not to insert it, or needs to try a different CMS Content option.

Remediation plan

Restore focus to the visible CMS Content button when one of its dialogs is dismissed without completing an insertion

  • Record the originating editor instance and its CMS Content button when opening the dialog
  • Handle all supported cancellation paths, including Escape, the dialog's close control, and Cancel where available
  • Restore focus after the dialog has finished closing and any modal focus management has been released
  • Do not attempt to focus the hidden menu item that originally opened the dialog
  • Do not leave focus on a removed dialog element, the page body, or an unrelated control
  • Ensure that the returned focus has a visible indicator
  • Preserve the article content and the editor's saved text-selection position when cancelling
  • Keep successful insertion separate from cancellation so that an intentional return to the text caret is not overridden
  • Verify the behaviour for each affected CMS Content dialog rather than assuming that every dialog uses the same close handling

Preconditions

  • Use Joomla 6.2 with the Atum administrator template
  • Sign in with an account permitted to edit articles and open the relevant content-selection dialogs
  • Use the TinyMCE editor with the CMS Content menu available
  • Use an existing test article
  • Record the browser name and version, operating system, and any screen reader used
  • Record the CMS Content menu option and dialog tested
  • Do not save unintended changes to the article

Steps to reproduce — dismissal with Escape

  1. Open the Joomla administrator interface at the site's base URL followed by /administrator/
  2. Open Content → Articles
  3. Open the test article for editing
  4. Locate the Article Text field and confirm that TinyMCE is active
  5. Place the text caret at a recognizable position in the article
    • Record the position so that the editing context can be checked after dismissal
  6. Use keyboard navigation to reach the CMS Content button
    • If necessary, use the toolbar-focus shortcut supported by the tested TinyMCE configuration
    • Record any shortcut used
  7. Activate CMS Content to open its menu
  8. Choose an available menu option that opens a content-selection dialog
    • Use an option such as a module or menu-item insertion dialog if available
    • Record the exact menu label and dialog title
  9. Confirm that the dialog opens
  10. Do not select or insert content
  11. Press Escape to dismiss the dialog
    • If Escape closes only an inner popup, record that behaviour and distinguish it from closing the dialog itself
  12. Without clicking elsewhere, observe the keyboard-focus location
  13. Check whether focus has returned to the visible CMS Content button
  14. Press Tab once and record where focus moves
    • Determine whether navigation continues from the editor toolbar or restarts near the beginning of the page
  15. If the focus location is unclear, inspect the active element using Developer Tools after recording the visible result
    • Record the result before opening Developer Tools because interacting with the tools can itself change focus
  16. Record whether the CMS Content menu can be reopened immediately from the returned focus position

Steps to reproduce — dialog close and Cancel controls

  1. Return to the CMS Content button and reopen the same dialog
  2. Navigate to the dialog's close control using the keyboard
  3. Activate the close control without inserting content
  4. Check whether focus returns to the CMS Content button
  5. Reopen the dialog
  6. If a Cancel control is available, activate it using the keyboard
  7. Check the return-focus location again
  8. Repeat for other available CMS Content dialogs
    • Record each menu option, dismissal method, and resulting focus location separately
    • Do not assume that a passing result for one dialog establishes that the others pass

Supplementary screen reader test

  1. Enable a screen reader and record the screen reader and browser combination
  2. Navigate to the CMS Content button and open one of the tested dialogs
  3. Dismiss the dialog without inserting content
  4. Listen for the control announced after dismissal
  5. Check whether keyboard focus returns to CMS Content and whether the screen reader provides useful context
  6. Record keyboard focus and the screen reader's reading position separately if they differ
  7. Repeat with the available cancellation methods

Comparison test — successful insertion

  1. Reopen a tested dialog from CMS Content
  2. Select suitable test content and complete the insertion
  3. Observe where focus returns after the dialog closes
  4. Check whether the editor restores a useful text-caret position so that editing can continue
  5. Record this result separately from cancellation
    • Do not report a logical return to the editing area after successful insertion as the cancellation defect
  6. Close the article without saving unintended changes

Version

6.2

Expected result

When a CMS Content dialog is cancelled or dismissed without inserting content, keyboard focus returns to the visible CMS Content button.

Users can reopen the menu or continue navigating from that point without restarting from the beginning of the page.

After successful insertion, focus returns to a logical editing location, such as the text caret, so that the user can continue working.

Actual result

The audit reports that closing a CMS Content dialog can lose focus and reset navigation to the beginning of the page.

The issue discussion confirms the problem when cancelling a dialog and distinguishes it from successful insertion, where returning to the text caret can be appropriate.

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.

The supplementary screen reader test is a proposed verification step, not a claim that a particular screen reader combination was tested in the original issue.

The original report contains no screenshot for this finding.

The exact CMS Content options available depend on the editor configuration, enabled plugins, and account permissions. Record the menu option and dialog title for each result.

The report identifies the CMS Content button as the return target because the individual menu item that opened the dialog is hidden after dismissal.

MS3b is proposed for the documented backend editor integration. Add a shared-component milestone only if investigation establishes that the underlying fix belongs to a shared dialog component.

avatar mbeganyi-a11y mbeganyi-a11y - open - 8 Sep 2026
avatar mbeganyi-a11y mbeganyi-a11y - change - 8 Sep 2026
Labels Added: a11y a11y-audit-backlog a11y-priority-serious (High)
avatar mbeganyi-a11y mbeganyi-a11y - labeled - 8 Sep 2026
avatar mbeganyi-a11y mbeganyi-a11y - labeled - 8 Sep 2026
avatar joomla-cms-bot joomla-cms-bot - change - 8 Sep 2026
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 8 Sep 2026
avatar brianteeman
brianteeman - comment - 8 Sep 2026
  1. Complete or cancel the dialog using the available control or Escape.

I can confirm when canceling the dialog that the focus is lost but when completing eg inserting a menu link or module it returns to the carat in the content which surely is the correct and expected behaviour and not returning the focus to the insert menu link button?

avatar mbeganyi-a11y mbeganyi-a11y - change - 9 Sep 2026
Title
…
Closing the dialog in the "Joomla editor > CMS Content dropdown" does not return the focus to the element triggering the dialog
Joomla Editor: Closing the dialog in the "Joomla editor > CMS Content dropdown" does not return the focus to the element triggering the dialog
avatar mbeganyi-a11y mbeganyi-a11y - edited - 9 Sep 2026
avatar mbeganyi-a11y
mbeganyi-a11y - comment - 9 Sep 2026

Good question. I think from a usability perspective, it would make sense to place focus on the carat, but I wonder about cases when users want to insert multiple components using the CMS dropdown. I think that's a decision for you to make depending on how many instances you've heard of where users are inserting multiple items from the CMS dropdown.

Irrespective of that, the loss of focus upon closure of the dialog without completion is the true accessibility issue here, so I'm glad you can confirm it functions the same for you.

avatar mbeganyi-a11y mbeganyi-a11y - change - 26 Oct 2026
The description was changed
avatar mbeganyi-a11y mbeganyi-a11y - edited - 26 Oct 2026
avatar rdeutz rdeutz - change - 4 Nov 2026
Labels Added: Design-System
avatar rdeutz rdeutz - labeled - 4 Nov 2026

Add a Comment

Login with GitHub to post a comment