Skip to content

TextField accessibility on Linux #113049

@RastislavKish

Description

@RastislavKish

On Linux, TextField has some accessibility issues.

Steps to reproduce

  1. Run the sample code below
  2. Start Orca screenreader, on systems where it's preinstalled usually by Super+alt+S, or simply by launching orca
  3. In the application window, try to type something in the TextField
  4. Navigate around the field using arrow keys

Expected behavior

When navigating character by character (by left and right arrow keys), Orca should read the currently focused-one.
Up/Down arrow keys (navigation by lines) should cause Orca to read the focused line.

Actual behavior

Orca reports "blank" for almost any kind of movement, except navigation by words (Ctrl+Left & Ctrl+Right), which surprisingly works as it should.

Environment

Ubuntu Mate 22.04 64-bit
Orca 43.1

Sample code

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() => runApp(
    MaterialApp(
        home: Column(
            children: <Widget>[
                TextField(
                    decoration: InputDecoration(
                        labelText: 'Input some text',
                        ),
                    ),
                ElevatedButton(
                    child: const Text('Close'),
                    onPressed: () => SystemNavigator.pop(),
                    ),
                ],
            )
        ),
    );

Flutter doctor -v output

[✓] Flutter (Channel master, 3.5.0-2.0.pre.23, on Ubuntu 22.04.1 LTS 5.15.0-48-generic, locale sk_SK.UTF-8)
• Flutter version 3.5.0-2.0.pre.23 on channel master at /home/username/snap/flutter/common/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision be86a91 (76 minutes ago), 2022-10-06 09:35:08 -0700
• Engine revision e724340
• Dart version 2.19.0 (build 2.19.0-283.0.dev)
• DevTools version 2.18.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /home/username/Android/Sdk
• Platform android-31, build-tools 30.0.3
• ANDROID_SDK_ROOT = /home/username/Android/Sdk
• Java binary at: /usr/lib/jvm/java-11-openjdk-amd64/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu122.04)
• All Android licenses accepted.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Linux toolchain - develop for Linux desktop
• clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
• cmake version 3.10.2
• ninja version 1.8.2
• pkg-config version 0.29.1

[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] Connected device (1 available)
• Linux (desktop) • linux • linux-x64 • Ubuntu 22.04.1 LTS 5.15.0-48-generic

[✓] HTTP Host Availability
• All required HTTP hosts are available

! Doctor found issues in 2 categories.

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)a: desktopRunning on desktopa: text inputEntering text in a text field or keyboard related problemsfound in release: 3.3Found to occur in 3.3found in release: 3.5Found to occur in 3.5frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-linuxBuilding on or for Linux specificallyr: fixedIssue is closed as already fixed in a newer version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions