Skip to content

[a11y_assessments] Disabled CheckboxListTile shares mutable state #194905

Closed
flutter/packages
#13177

Description

@kevmoo

In check_box_list_tile.dart#L41-L59, the /check-box-list-tile use case in a11y_assessments binds its second (enabled: false) CheckboxListTile to the same mutable _checked field as the first enabled tile, so toggling the enabled checkbox also flips the disabled checkbox to checked (SemanticsFlag.isChecked, related to #173056 / b/428818181).

  • Root cause: check_box_list_tile.dart#L50-L59 passes value: _checked and a setState callback to the disabled CheckboxListTile instead of an independent value: false, onChanged: null.
  • Impact: Assistive technologies and automated VPAT assessments inspecting /check-box-list-tile after toggling the first checkbox observe the disabled control unexpectedly transition to isChecked (aria-checked="true" while aria-disabled="true").

Proposed Fix

  • Set value: false and onChanged: null on the disabled CheckboxListTile in packages/material_ui/test_apps/a11y_assessments/lib/use_cases/check_box_list_tile.dart (flutter/packages#13177).

Activity

  1. added
    in triagePresently being triaged by the triage team
    p: material_uimaterial_ui package in flutter/packages
    a: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)
    packageflutter/packages repository. See also p: labels.
    fyi-designFor the attention of Design Languages team
    team-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)
    and removed
    in triagePresently being triaged by the triage team
    on Oct 21, 2026
  2. added
    P3Issues that are less important to the Flutter project
    on Oct 21, 2026
  3. github-actions commented on Nov 10, 2026

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  4. locked as resolved and limited conversation to collaborators on Nov 10, 2026
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

    P3Issues that are less important to the Flutter projecta: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)p: material_uimaterial_ui package in flutter/packagespackageflutter/packages repository. See also p: labels.team-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)triaged-accessibilityTriaged by Framework Accessibility team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions