Skip to content

[Linux] missing "sensitive" accessibility state #101500

@jpnurmi

Description

@jpnurmi

Orca Screen Reader considers Flutter widgets "greyed" because the ATK_STATE_SENSITIVE flag is not set.

Steps to Reproduce

  1. Turn on the screen reader (Settings -> Accessibility -> Screen Reader)
  2. Execute flutter run on the code sample
  3. Press Tab to navigate around

Expected results:

All three widgets are enabled so they should not be read as "greyed".

Actual results:

Enabled checkboxes, radio buttons, and switches are read as "greyed".

Code sample
import 'package:flutter/material.dart';

void main() {
  final checked = ValueNotifier<bool>(true);

  runApp(
    MaterialApp(
      home: Scaffold(
        body: ValueListenableBuilder<bool>(
          valueListenable: checked,
          builder: (context, value, _) {
            return Column(
              children: [
                Checkbox(
                  value: value,
                  onChanged: (v) => checked.value = v!,
                ),
                Radio<bool>(
                  value: value,
                  groupValue: true,
                  onChanged: (v) => checked.value = v!,
                ),
                Switch(
                  value: value,
                  onChanged: (v) => checked.value = v,
                )
              ],
            );
          },
        ),
      ),
    ),
  );
}
Logs
[✓] Flutter (Channel master, 2.13.0-0.0.pre.393, on Ubuntu Jammy Jellyfish (development branch) 5.15.0-25-generic, locale en_US.UTF-8)
    • Flutter version 2.13.0-0.0.pre.393 at /home/jpnurmi/Flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 94fefaa49d (5 hours ago), 2022-04-06 17:17:34 +0530
    • Engine revision 45bedbe841
    • Dart version 2.17.0 (build 2.17.0-266.0.dev)
    • DevTools version 2.12.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/jpnurmi/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = /home/jpnurmi/Android/Sdk
    • Java binary at: /home/jpnurmi/Android/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Linux toolchain - develop for Linux desktop
    • Ubuntu clang version 14.0.0-1ubuntu1
    • cmake version 3.22.1
    • ninja version 1.10.1
    • pkg-config version 0.29.2

[✓] Android Studio (version 2020.3)
    • Android Studio at /home/jpnurmi/Android/android-studio
    • 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 11.0.10+0-b96-7249189)

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.38.1

[✓] Connected device (1 available)
    • Linux (desktop) • linux • linux-x64 • Ubuntu Jammy Jellyfish (development branch) 5.15.0-25-generic

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

• No issues found!
orca.mp4

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)a: desktopRunning on desktopfound in release: 2.10Found to occur in 2.10frameworkflutter/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