Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Talkback / voiceover not reading textformfield's hintText and Switch button #40765

Closed
DK15 opened this issue Sep 18, 2019 · 10 comments
Closed

Talkback / voiceover not reading textformfield's hintText and Switch button #40765

DK15 opened this issue Sep 18, 2019 · 10 comments
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds

Comments

@DK15
Copy link

DK15 commented Sep 18, 2019

My sample app has two textformfields with hintText and a Switch widget.

When I turn ON talkback on Android emulator and select first textformfield, it's not reading Username hintText, it just reads Editbox, double tap to enter text, but when selecting second textformfield, it reads Password hintText properly, ie Password editbox, double tap to enter text.

When I double tap first textformfield, it then reads Editing Username editbox.

On iOS device, voiceover does not read first textformfield hintText when I select it (TextField, double tap to edit), but reads second textformfield hintText properly (Password textfield, double tap to edit).

Code:

TextFormField(
          keyboardType: TextInputType.text,
          decoration: InputDecoration(hintText: 'Username',
              contentPadding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 10.0),
              border: OutlineInputBorder(borderRadius: BorderRadius.circular(32.0))
          ),
        ),
        TextFormField(
            keyboardType: TextInputType.text,
            decoration: InputDecoration(hintText: 'Password',
              contentPadding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 10.0),
              border: OutlineInputBorder(borderRadius: BorderRadius.circular(32.0))
            ),
            obscureText: true,
        ),
  • Android emulator : Nexus 5X (Android 8.0)

  • iOS device : iphone 6s (11.2.1)

As a workaround, I used labelText instead of hintText, then the talkback reads the Username properly, like Username edit box, double tap to enter text, but another issue with this approach is that, then Password textformfield is read as Password Password edit box, double tap to enter text.

Regarding Switch widget, on Android emulator, when I select it, talkback reads properly as Not checked switch, double tap to toggle, but on iOS device, when I select the Switch widget, voiceover doesn't read anything. Double tapping on it reads as Selected. If I double tap on it again, the Switch button gets unselected, but voiceover still reads it as Selected.

Code for switch widget:

Switch(
              onChanged: (value) {
                setState(() {
                  isSwitched = value;
                });
              },
              activeColor: Colors.green,
              activeTrackColor: Colors.greenAccent,
              value: isSwitched,
            ),

Flutter doctor:

[✓] Flutter (Channel stable, v1.7.8+hotfix.3, on Mac OS X 10.13.6 17G65, locale en-US)
    • Flutter version 1.7.8+hotfix.3 at /Users/deeptibelsare/Documents/Flutter-sdk/flutter
    • Framework revision b712a172f9 (2 months ago), 2019-07-09 13:14:38 -0700
    • Engine revision 54ad777fd2
    • Dart version 2.4.0

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/deeptibelsare/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed instructions.

[✓] Xcode - develop for iOS and macOS (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • CocoaPods version 1.7.0.beta.3

[!] iOS tools - develop for iOS devices
    • ios-deploy 2.0.0
    ✗ ios-deploy out of date (1.9.4 is required). To upgrade with Brew:
        brew upgrade ios-deploy

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 34.0.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.0.0 (API 26) (emulator)

! Doctor found issues in 2 categories.
@BondarenkoStas BondarenkoStas added a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) framework flutter/packages/flutter repository. See also f: labels. labels Sep 19, 2019
@HansMuller HansMuller added the f: material design flutter/packages/flutter/material repository. label Sep 19, 2019
@goderbauer
Copy link
Member

I recently fixed those issues for textfield, but those are not in stable yet. Can you change your channel to master and check that it's working for you?

TalkBack reading your field as "Password, Password edit box, double tap to enter text" is expected and correct. It is reading the label "password" followed by the information that this is a "Password edit box" which will hide the user input.

@goderbauer
Copy link
Member

/cc @jonahwilliams who, I think, was looking at the switch at some point.

@DK15
Copy link
Author

DK15 commented Sep 20, 2019

@goderbauer Thanks for your response. I switched to master but still observed same issue.

[✓] Flutter (Channel master, v1.6.1-pre.14, on Mac OS X 10.13.6 17G65, locale en-US)
    • Flutter version 1.6.1-pre.14 at /Users/deeptibelsare/Documents/Flutter-sdk/flutter
    • Framework revision 6861c2cca0 (4 months ago), 2019-05-15 20:47:39 -0400
    • Engine revision dd65a8884e
    • Dart version 2.3.1 (build 2.3.1-dev.0.0 57c970d87a)

Another issue I observed was, on iOS, the voiceover doesn't read toast message. Would you have any inputs on this ?

@DK15
Copy link
Author

DK15 commented Sep 23, 2019

@goderbauer I will open a separate issue for toast message for easier tracking.

@TahaTesser
Copy link
Member

Hi @DK15
Are you still experiencing this issue with latest master channel?
Thank you

@TahaTesser TahaTesser added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Apr 30, 2020
@DK15
Copy link
Author

DK15 commented May 4, 2020

@TahaTesser I'll retest and share my updates here. Thanks.

@no-response no-response bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label May 4, 2020
@TahaTesser TahaTesser added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label May 4, 2020
@VladyslavBondarenko
Copy link

@DK15
I don't have devices with OS mentioned by you.
But with Redmi Note 7 Android 9 (API 28) hintText is read.
With iPhone 7 iOS 13.5 state of Switch button is read correctly.

Tried with dev 1.19.0-1.0.pre.

@no-response
Copy link

no-response bot commented May 27, 2020

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.

@no-response no-response bot closed this as completed May 27, 2020
@VladyslavBondarenko VladyslavBondarenko added waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds and removed waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds labels May 27, 2020
@darshankawar
Copy link
Member

This is working as intended. Closing.

@github-actions
Copy link

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds
Projects
None yet
Development

No branches or pull requests

7 participants