Skip to content

[Google3 Bug]: Unable to get DropdownMenu semantics for initial selection announced together #175950

@carriejiang

Description

@carriejiang

Help us understand the severity of this issue

  • causing severe production issues e.g. malfunctions or data loss
  • blocking next binary release
  • blocking a client feature launch within a quarter
  • nice-to-have but does not block a launch within the next quarter

Steps to reproduce

  1. Create a page with a dropdown menu
  2. Using the screen reader, tap into the dropdown menu

Expected results

The dropdown input and dropdown button should be grouped as a single focusable unit. VoiceOver should announce the the control with a proper label, role and state, e.g., "Filter items, All selected, button collapsed".

Actual results

VoiceOver focus moves to the dropdown selected value, then separately to the dropdown button, announcing it as "Down Arrow".

Code sample

Code sample
DropdownMenu<String>(
          enabled: true,
          initialSelection:
              selectedLabel ?? dropdownLabels.first,
          onSelected: onFilterSelected,
          dropdownMenuEntries: [
            for (final label in dropdownLabels)
              DropdownMenuEntry<String>(
                value: label,
                label: label,
                labelWidget: Text(
                  label,
                ),
              ),
          ],
        ),

Screenshots or Video

Logs

No response

Flutter Doctor output

Doctor output
[✓] Flutter (Channel, on macOS 15.6.1 24G90 darwin-arm64 (Rosetta), locale en) [542ms]
    • Framework revision 4a042046a0 (1 days ago), 2025-09-23T00:00:00.000
    • Engine revision 4a042046a0
    • Dart version 14b4ced302

[✓] Android toolchain - develop for Android devices (Android SDK version Stable) [477ms]
    • Android SDK at
    • Emulator version unknown
    • Platform Stable, build-tools Stable
    • Java binary at: /usr/bin/java
      This JDK was found in the system PATH.
      To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment Zulu24.28+85-CA (build 24+36)

[✓] Xcode - develop for iOS and macOS (Xcode 16.0) [681ms]
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16A242d

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)customer: chalk (g3)customer: googleVarious Google teamsf: material designflutter/packages/flutter/material repository.found in release: 3.35Found to occur in 3.35found in release: 3.37Found to occur in 3.37frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionteam-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)triaged-accessibilityTriaged by Framework Accessibility team

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions