Skip to content

[SF][ViewSettingsDialog][A11y]: Focus gets trapped on 'Ok' and 'Cancel' buttons after resetting filters multiple times #13234

@QinshanSun

Description

@QinshanSun

Bug Description

Bug Description

When using the ViewSettingsDialog component with a screen reader (JAWS), focus management becomes broken after resetting filters multiple times.
The focus gets trapped on the 'Ok' and 'Cancel' buttons, preventing users from navigating to other elements within the dialog.

Environment

  • Screen reader: JAWS 2025.2503.39
  • Browser: Chrome 140.0.7339.129 (64-bit)

Analysis

The issue appears to be related to the _resetSettings() method in ViewSettingsDialog which resets the settings but may not properly restore focus
management. The _recentlyFocused property and _focusRecentlyUsedControl() method may need to be updated after reset operations.

Priority

High - This is a critical accessibility issue that prevents keyboard-only users and screen reader users from properly using the dialog.

UI5 Web Components Version

2.14.0 (also reproduced on latest versions)

Browser

Chrome

Operating System

macOS / Windows

Additional Context

Potentially related code in ViewSettingsDialog.ts:

  • _resetSettings() method
  • _focusRecentlyUsedControl() method
  • _recentlyFocused property

A workaround at the application level is to manually restore focus to the opener button when the dialog closes, but this should ideally be handled by the component itself.

Organization

SAP SuccessFactors

Affected Component

ui5-view-settings-dialog (from @ui5/webcomponents-fiori)

Expected Behaviour

After resetting filters multiple times, focus should follow the logical order within the dialog and should not get trapped on the 'OK' or 'Cancel'
buttons. Users should be able to navigate freely within the dialog using keyboard navigation.

Isolated Example

No response

Steps to Reproduce

  1. Open an application with ViewSettingsDialog containing sort or filter options
  2. Use keyboard navigation (Tab) to navigate within the dialog
  3. Click the 'Reset' button to reset the filters
  4. Repeat step 3 multiple times (reset filters 2-3 times)
  5. Attempt to navigate within the dialog using keyboard
  6. Observe that focus gets stuck on the 'Ok' and 'Cancel' buttons

Log Output, Stack Trace or Screenshots

No response

Priority

None

UI5 Web Components Version

2.14.0

Browser

Chrome

Operating System

Mac

Additional Context

No response

Organization

SF Successfactors

Declaration

  • I’m not disclosing any internal or sensitive information.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions