Closed
Description
The AtkText interface is missing implementation.
Steps to Reproduce
- Execute
flutter run
on the code sample - Start Accerciser
- Inspect the "Text" accessibility interface of labels and fields
Expected results:
Flutter widgets report text content through the Text accessibility interface.
Actual results:
Flutter reports that the Text accessibility interface is implemented, but all values are missing.
Flutter sample
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
inputDecorationTheme: const InputDecorationTheme(
border: OutlineInputBorder(),
),
),
home: Scaffold(
body: Padding(
padding: const EdgeInsets.all(20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text('Text', semanticsLabel: 'Text'),
const SizedBox(height: 20),
const SelectableText(
'SelectableText',
semanticsLabel: 'SelectableText',
),
const SizedBox(height: 20),
TextField(
controller: TextEditingController(text: 'TextField'),
),
const SizedBox(height: 20),
TextField(
readOnly: true,
controller:
TextEditingController(text: 'TextField (read-only)'),
),
const SizedBox(height: 20),
TextField(
obscureText: true,
controller: TextEditingController(text: 'password'),
),
],
),
),
),
);
}
}
GTK sample
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkWindow">
<property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">20</property>
<property name="margin-end">20</property>
<property name="margin-top">20</property>
<property name="margin-bottom">20</property>
<property name="orientation">vertical</property>
<property name="spacing">20</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">GtkLabel</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">GtkLabel (selectable)</property>
<property name="selectable">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="text" translatable="yes">GtkEntry</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="editable">False</property>
<property name="text" translatable="yes">GtkEntry (read-only)</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="visibility">False</property>
<property name="text" translatable="yes">password</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkTextBuffer" id="textbuffer1">
<property name="text" translatable="yes">GtkTextView</property>
</object>
<object class="GtkTextBuffer" id="textbuffer2">
<property name="text" translatable="yes">GtkTextView (read-only)</property>
</object>
</interface>
Flutter | GTK |
---|---|
![]() |
![]() |
![]() |
![]() |
Flutter doctor
[✓] Flutter (Channel master, 2.13.0-0.0.pre.940, on Ubuntu 22.04 LTS 5.15.0-27-generic, locale en_US.UTF-8)
• Flutter version 2.13.0-0.0.pre.940 at /home/jpnurmi/Flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 8094263cb7 (3 hours ago), 2022-05-06 04:59:06 -0400
• Engine revision eb4f476fa6
• Dart version 2.18.0 (build 2.18.0-91.0.dev)
• DevTools version 2.13.0
[✓] 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.40.0
[✓] Connected device (1 available)
• Linux (desktop) • linux • linux-x64 • Ubuntu 22.04 LTS 5.15.0-27-generic
[✓] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
Metadata
Metadata
Assignees
Labels
Important issues not at the top of the work listAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)Running on desktopText rendering, possibly libtxtFound to occur in 2.10Found to occur in 2.13flutter/packages/flutter repository. See also f: labels.The issue has been confirmed reproducible and is ready to work onBuilding on or for Linux specificallyIssue is closed as solved