Skip to content

CupertinoDatePicker reads disabled dates when VoiceOver is on. #178713

@Muhammad-Sarim-Bader

Description

@Muhammad-Sarim-Bader

Steps to reproduce

  1. Add CupertinoDatePicker to use in any simple UI of your choice.
  2. Set minimumDate and maximumDate property for the date picker.
  3. Enable voice over from iPhone setting App.
  4. Now try to scroll to dates where it is disabled.

Expected results

Date picker should not scroll to disabled dates because native iOS picker in voice over mode don't allow scrolling to disabled dates or at least voice over should not read disabled dates, as this can mislead users with visual impairments.

Actual results

Date picker in voiceover mode allowing scroll to disable dates.

Code sample

CupertinoDatePicker(
                  minimumDate: firstDate,
                  maximumDate: lastDate,
                  initialDateTime: dateNow,
                  onDateTimeChanged: (DateTime newDateTime) {
                    changedDate = newDateTime;
                  },
                  mode: CupertinoDatePickerMode.date,
                )

Screenshots or Video

ScrollPicker.mp4
Screenshots / Video demonstration

[Upload media here]

Logs

No response

Flutter Doctor output

┌─────────────────────────────────────────────────────────┐
│ A new version of Flutter is available! │
│ │
│ To update to the latest version, run "flutter upgrade". │
└─────────────────────────────────────────────────────────┘

[✓] Flutter (Channel stable, 3.22.0, on macOS 15.6.1 24G90 darwin-arm64, locale en-US)
    • Flutter version 3.22.0 on channel stable at /Users/sarim/fvm/versions/3.22.0
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (1 year, 6 months ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3

[!] Android toolchain - develop for Android devices (Android SDK version 36.1.0)
    • Android SDK at /Users/sarim/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 16.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16F6
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2025.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.8+-14196175-b1038.72)

[✓] VS Code (version 1.105.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.120.0

[✓] Connected device (5 available)
    • Sarim’s iPhone (mobile)         • 00008120-000A43363A7BC01E            • ios            • iOS 18.6.2 22G100
    • iPhone 12 Pro (mobile)          • ED65F754-AF51-4C71-B04C-17CAED855C85 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-5
      (simulator)
    • macOS (desktop)                 • macos                                • darwin-arm64   • macOS 15.6.1 24G90 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         • macOS 15.6.1 24G90 darwin-arm64
    • Chrome (web)                    • chrome                               • web-javascript • Google Chrome 142.0.7444.162
    ! Error: Browsing on the local area network for Labeeqa’s Iphone. Ensure the device is unlocked and attached with a cable or associated with
      the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)f: cupertinoflutter/packages/flutter/cupertino repositoryfound in release: 3.38Found to occur in 3.38found in release: 3.39Found to occur in 3.39frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-iosiOS applications specificallyr: 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

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions