Skip to content

Modern: Cleaner and Settings controls are missing accessible names for screen readers #194

Description

@keyang556

In the Modern version of FluentCleaner, several important controls on the Cleaner and Settings pages do not expose meaningful accessible names to screen readers.
This makes the application's two most important areas difficult to use independently with screen reader softwares.

Cleaner page

When navigating through cleaner entries with these softwares, the checkboxes are announced only as:

Checkbox, checked

or:

Checkbox, not checked

The name of the cleaner entry is not announced.

For example, instead of:

Microsoft Store, checkbox, checked

These softwares only announces:

Checkbox, checked

As a result, a screen reader user can toggle the checkbox but cannot determine which cleaning option it belongs to.

Category expand/collapse controls and some associated action buttons can also be announced only as:

Button

or:

Button, expanded/collapsed

without the category or action name.

Settings page

Some important settings have the same problem.

For example, switches for options such as Winapp2.ini and Winapp3.ini are announced only as:

Toggle button, pressed

or:

Toggle button, not pressed

The visible label next to the switch is not associated with the control for screen readers.
This means the user can determine the state of the switch, but not which setting the switch controls.

Steps to reproduce

  1. Enable Windows Narrator.
  2. Open FluentCleaner Modern.
  3. Open the Cleaner page.
  4. Expand a cleaner category.
  5. Use Tab to move through the cleaner entries.
  6. Notice that the cleaner checkboxes are announced without their entry names.
  7. Open Settings.
  8. Navigate settings.
  9. Notice that Narrator announces the switch role and state without the setting name.

Expected result

Interactive controls should expose their associated visible labels as accessible names.

For example:

Microsoft Store, checkbox, checked

and:

Winapp3, toggle button, not pressed

This could be implemented using the appropriate UI Automation naming/label relationship, such as AutomationProperties.Name or AutomationProperties.LabeledBy.

Comparison with Classic

The Classic edition already exposes these controls correctly.

For example, its Cleaner tree announces both the cleaner name and checkbox state, such as:

.NET Framework, checkbox, checked

This suggests that the issue is specific to the accessibility information exposed by the Modern UI rather than a limitation in screen reader softwares.

Accessibility impact

The Cleaner page is the application's primary workflow, and Settings contains important configuration options.

Although keyboard focus can reach these controls and their states are exposed, missing accessible names prevent a blind user from knowing what each control actually represents.

Environment

  • FluentCleaner Modern 26.09.01 / 1.18 (Classic)
  • Windows 11

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions