Details
-
Type:
Bug
-
Status: Closed
-
Priority:
P1: Critical
-
Resolution: Done
-
Affects Version/s: 5.15.4
-
Fix Version/s: 5.15.3, 5.15.5, 6.1.1, 6.2.0 Alpha
-
Component/s: GUI: Accessibility (a11y)
-
Labels:
-
Environment:iOS 14.4.2 on iPhone 6s with Qt 5.15.4
-
Platform/s:
-
Commits:08cd5580df382af5ddfe1c0c44bc9dd68e4cd1e7 (qt/qtbase/dev) 98b9dcb993dfc595e6a216be47a5a67258e5b79b (qt/qtbase/6.1) d2adbb338c628d9b9b8eb5a9adb9386b362bde37 (qt/qtbase/5.12) 743f4c7ca3ec800bc29c44c6963d34e14e5fb324 (qt/tqtc-qtbase/5.15)
Description
Context
Items on iOS Phone with VoiceOver activated should be shown as dedicated elements a blind person can navigate through. It has to fulfill requirements of WCAG 2.0 / WCAG2ICT
Expectations
- TextInput items should be reported as "[Name], TextField"
- TextInput is role "EditableText" by default.
Observation
- Only the text in Accessible.name is reported, but not the postifx ", TextField". This was marked as "Serious impact" in an ADA audit we had for our iOS app.
- Voice over provided "Name, Ba, Description" for the second. The last character of the text is missing
Code
import QtQuick 2.15 import QtQuick.Window 2.15 import QtQuick.Controls 2.15 Window { visible: true Column { TextInput { text: "Bar" Accessible.name: "Name" } TextInput { text: "Bar" Accessible.name: "Name" Accessible.description: "Description" Accessible.role: Accessible.EditableText } } }
This is a native implementation in SwiftUI for behaviour comparison. See attached video for app in action.
import SwiftUI struct ContentView: View { @State private var text: String = ""; var body: some View { VStack { Text("Title").accessibility(addTraits:[.isHeader]) TextField("Demo", text: $text) TextField("Demo", text: $text).accessibility(hint: Text("Description")) } } }