Skip to content

ExpansionTile accessibility information doesn't read Expanded/Collapsed (iOS) #132264

Closed

Description

@zxm3ow

Internal: b/269139224

Is there an existing issue for this?

Steps to reproduce

  1. Click on the ExpansionTile component with text "xxx" with accessibility mode enabled. Then, it will read like "xxx, Expanded double tap to collapse" or "xxx, Collapsed double tap to expand".
  2. Double click on the ExpansionTile component, then immediately it will only read "xxx", but the expected words are "xxx Expanded" or "xxx Collapsed"
  3. Note if you single click on the ExpansionTile component it will still read out the output described in step 1 as expected. The only issue is just at step 2, when user finishes the double clicking.

It seems that this issue has been fixed by #74963, but reverted by #121699 with a new solution introduced. In the final video shown by #121699, this issue exists. Furthermore, the error seems to be that "Expanded" and "Collapsed" hints are interrupted when being announced. Related issue --> #122101. One solution might be delaying the announcement.

Expected results

When double clicked, the ExpansionTile component should read out "xxx Expanded" or "xxx Collapsed".

Actual results

When double clicked, the ExpansionTile component only reads out "xxx".

Code sample

Code sample
ExpansionTile(
tilePadding: EdgeInsets.zero,
title: Text("xxx"),
expandedAlignment: Alignment.topLeft,
childrenPadding: const EdgeInsetsDirectional.only(
start: 48,
top: 12,
end: 0,
bottom: 12,
),
children: [],
)

Screenshots or Video

Screenshots / Video demonstration

[Upload media here]

Logs

Logs
[Paste your logs here]

Flutter Doctor output

Doctor output
[Paste your output here]

Activity

  1. darshankawar commented on Aug 10, 2023

    @darshankawar
    Member

    Thanks for the report. I do see the same behavior as described, ie, when we double tap to expand, it doesn't read out at that time, but after if we single tap on the expanded list, it reads out as expanded.

    The same behavior occurs using the example as well.

    stable, master flutter doctor -v
    [!] Flutter (Channel stable, 3.10.6, on macOS 12.2.1 21D62 darwin-x64, locale
        en-GB)
        • Flutter version 3.10.6 on channel stable at
          /Users/dhs/documents/fluttersdk/flutter
        ! Warning: `flutter` on your path resolves to
          /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
          your current Flutter SDK checkout at
          /Users/dhs/documents/fluttersdk/flutter. Consider adding
          /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
        ! Warning: `dart` on your path resolves to
          /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
          current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
          Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
          of your path.
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision f468f3366c (5 days ago), 2023-07-12 15:19:05 -0700
        • Engine revision cdbeda788a
        • Dart version 3.0.6
        • DevTools version 2.23.1
        • If those were intentional, you can disregard the above warnings; however
          it is recommended to use "git" directly to perform update checks and
          upgrades.
    
    [!] Xcode - develop for iOS and macOS (Xcode 12.3)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        ! Flutter recommends a minimum Xcode version of 13.
          Download the latest version or update via the Mac App Store.
        • CocoaPods version 1.11.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] VS Code (version 1.62.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.21.0
    
    [✓] Connected device (5 available)
        • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
        • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
          ios            • iOS 14.4.1 18D61
        • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
          ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
        • macOS (desktop)            • macos                                    •
          darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
        • Chrome (web)               • chrome                                   •
          web-javascript • Google Chrome 98.0.4758.80
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    ! Doctor found issues in 1 category.
    
    [!] Flutter (Channel master, 3.14.0-2.0.pre.16, on macOS 12.2.1 21D62
        darwin-x64, locale en-GB)
        • Flutter version 3.14.0-2.0.pre.16 on channel master at
          /Users/dhs/documents/fluttersdk/flutter
        ! Warning: `flutter` on your path resolves to
          /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
          your current Flutter SDK checkout at
          /Users/dhs/documents/fluttersdk/flutter. Consider adding
          /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
        ! Warning: `dart` on your path resolves to
          /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
          current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
          Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
          of your path.
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision 2efda23a45 (2 hours ago), 2023-08-09 20:25:06 -0700
        • Engine revision b5b41ff66d
        • Dart version 3.2.0 (build 3.2.0-42.0.dev)
        • DevTools version 2.26.1
        • If those were intentional, you can disregard the above warnings; however
          it is recommended to use "git" directly to perform update checks and
          upgrades.
    
    [!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
        • Android SDK at /Users/dhs/Library/Android/sdk
        ✗ cmdline-tools component is missing
          Run `path/to/sdkmanager --install "cmdline-tools;latest"`
          See https://developer.android.com/studio/command-line for more details.
        ✗ Android license status unknown.
          Run `flutter doctor --android-licenses` to accept the SDK licenses.
          See https://flutter.dev/docs/get-started/install/macos#android-setup for
          more details.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Build 13C100
        • CocoaPods version 1.11.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
        • IntelliJ at /Applications/IntelliJ IDEA.app
        • Flutter plugin version 65.1.4
        • Dart plugin version 213.7228
    
    [✓] VS Code (version 1.62.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.29.0
    
    [✓] Connected device (3 available)
        • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
          • iOS 15.3.1 19D52
        • macOS (desktop)           • macos                                    •
          darwin-x64     • macOS 12.2.1 21D62 darwin-x64
        • Chrome (web)              • chrome                                   •
          web-javascript • Google Chrome 109.0.5414.119
    
    [✓] Network resources
        • All expected network resources are available.
    
    ! Doctor found issues in 1 category.
          
    [!] Xcode - develop for iOS and macOS (Xcode 12.3)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        ! Flutter recommends a minimum Xcode version of 13.
          Download the latest version or update via the Mac App Store.
        • CocoaPods version 1.11.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] VS Code (version 1.62.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.21.0
    
    [✓] Connected device (5 available)
        • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
        • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
          ios            • iOS 14.4.1 18D61
        • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
          ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
        • macOS (desktop)            • macos                                    •
          darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
        • Chrome (web)               • chrome                                   •
          web-javascript • Google Chrome 98.0.4758.80
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    ! Doctor found issues in 1 category.
    
    
    
    
  2. added
    platform-iosiOS applications specifically
    a: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)
    frameworkflutter/packages/flutter repository. See also f: labels.
    p: material_uimaterial_ui package in flutter/packages
    team-iosOwned by iOS platform team
    and removed
    in triagePresently being triaged by the triage team
    on Aug 10, 2023
  3. TahaTesser commented on Aug 10, 2023

    @TahaTesser
    Contributor

    This was relanded in #124281

  4. stuartmorgan-g commented on Aug 14, 2023

    @stuartmorgan-g
    Contributor

    @chunhtai Was the PR above expected to fix this? It sounds like it's still broken on master.

  5. added
    P2Important issues not at the top of the work list
    triaged-iosTriaged by iOS platform team
    on Aug 14, 2023
  6. chunhtai commented on Aug 14, 2023

    @chunhtai
    Contributor

    maybe related to b/291639579

  7. 7 remaining items

  8. TahaTesser commented on Feb 21, 2024

    @TahaTesser
    Contributor

    @math1man i can fix this. Do you any recommendations for how many long we should delay? Considering different languages.

  9. math1man commented on Feb 21, 2024

    @math1man
    Contributor

    No idea. The Form widget uses a delay of 1 second for this exact purpose.

  10. TahaTesser commented on Feb 21, 2024

    @TahaTesser
    Contributor

    No idea. The Form widget uses a delay of 1 second for this exact purpose.

    It would be good to add a delay and close this issue out for good.

    I can take this issue and fix, if this sounds reasonable to you.

  11. math1man commented on Feb 21, 2024

    @math1man
    Contributor

    Sounds good to me

  12. self-assigned this
    on Feb 21, 2024
  13. moved this from To do to In progress in Nevercodeon Feb 22, 2024
  14. moved this from In progress to PR submitted in Nevercodeon Feb 22, 2024
  15. moved this from PR submitted to Done (PR merged) in Nevercodeon Mar 26, 2024
  16. added
    r: fixedIssue is closed as already fixed in a newer version
    on Mar 26, 2024
  17. github-actions commented on Apr 9, 2024

    @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.

  18. locked as resolved and limited conversation to collaborators on Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)customer: huggsy (g3)found in release: 3.10Found to occur in 3.10found in release: 3.14Found to occur in 3.14frameworkflutter/packages/flutter repository. See also f: labels.p: material_uimaterial_ui package in flutter/packagesplatform-iosiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-iosOwned by iOS platform teamtriaged-iosTriaged by iOS platform team

Type

No type

Projects

  • Status
    Done (PR merged)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions