About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility...
Transcript of About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility...
![Page 1: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/1.jpg)
About me
Frederik Gladhorn
KDE
Digia
![Page 2: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/2.jpg)
Accessible Applications with Qt
Accessible Applications with Qt
Frederik Gladhorn <[email protected]>
Qt Developer Days 2012
![Page 3: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/3.jpg)
Outline
Definition of Accessibility
Overview of APIs and Platforms
Making Applications Accessible
Tools
Summary
![Page 4: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/4.jpg)
Accessibility
“degree to which a product, device, service, or environment is available to as many people as possible”
http://en.wikipedia.org/wiki/Accessibility
![Page 5: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/5.jpg)
Enable people toinform themselves
and participate in society
![Page 6: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/6.jpg)
Legal
● Rehabilitation Act (1973) amended with section 504 and 508
● Americans with Disabilities Act (1990)● Special Educational Needs and Disability
Act (2001)● EU Charter of Fundamental Rights
![Page 7: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/7.jpg)
Virtual Keyboards
Screen Reader
Braille
Speech recognition
Assistive Technology
![Page 8: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/8.jpg)
Example: OpenDyslexic
Allow platform or custom fonts!
http://dyslexicfonts.com/
Special fonts
![Page 9: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/9.jpg)
APIs and Platforms
![Page 10: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/10.jpg)
![Page 11: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/11.jpg)
Accessibility APIs
MSAA
AppleAccessibility APIIAccessible2 AT-SPI 2
UI Automation
![Page 12: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/12.jpg)
Qt
QWidget::accessibleName (and Description)
QAccessibleInterface (improved in Qt 5)
Qt Quick: Accessible (starting with Qt 5)
![Page 13: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/13.jpg)
Except Linux and Qt 4.8:qtatspi/qt-at-spi
No external dependencies
![Page 14: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/14.jpg)
Making Applications Accessible
Colors
Fonts
Keyboard navigation
![Page 15: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/15.jpg)
Accessible Name
Demo - Calculator
![Page 16: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/16.jpg)
QWidget::setAccessibleName()
In Code
![Page 17: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/17.jpg)
QAccessibleInterface
![Page 18: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/18.jpg)
Important Properties
Name
Description
Role
State
![Page 19: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/19.jpg)
Demo – Rating Widget
![Page 20: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/20.jpg)
Demo – Rating Widget in QML
![Page 21: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/21.jpg)
Tools
![Page 22: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/22.jpg)
Mac Tools
![Page 23: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/23.jpg)
Voice Over
![Page 24: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/24.jpg)
Accessibility Inspector
![Page 25: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/25.jpg)
Accessibility Verifier
![Page 26: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/26.jpg)
NVDA
![Page 27: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/27.jpg)
Acc Explorer
![Page 28: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/28.jpg)
Accessibility Probe
![Page 29: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/29.jpg)
Microsoft Inspect
![Page 30: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/30.jpg)
Linux Tools
![Page 31: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/31.jpg)
Orca
![Page 32: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/32.jpg)
Accerciser
![Page 33: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/33.jpg)
Randamizer
![Page 34: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/34.jpg)
Summary
![Page 35: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/35.jpg)
Check Your Application
Colors, Fonts
Keyboard navigation
Screen Reader
![Page 36: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/36.jpg)
Qt Quick
Webkit
Future Work
![Page 38: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/38.jpg)
Differences Qt 4/5
● Improved notifications● Text● Tables
● Interface implementation much simpler● IAccessible2 on Windows
![Page 39: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/39.jpg)
About me
Frederik Gladhorn
KDE
Digia
German, from Bremerhaven, living in Oslo
University Stuttgart, Technical CyberneticsActive in KDE since 2005Joined Nokia in 2010 and Digia in 2012Focus on Accessibility in the last year
I need assistive technology in the form of my glasses.
Enjoying climbing and skiing in Norway
![Page 40: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/40.jpg)
Accessible Applications with Qt
Accessible Applications with Qt
Frederik Gladhorn <[email protected]>
Qt Developer Days 2012
![Page 41: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/41.jpg)
Outline
Definition of Accessibility
Overview of APIs and Platforms
Making Applications Accessible
Tools
Summary
![Page 42: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/42.jpg)
Accessibility
“degree to which a product, device, service, or environment is available to as many people as possible”
http://en.wikipedia.org/wiki/Accessibility
![Page 43: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/43.jpg)
Enable people toinform themselves
and participate in society
Study by forrester/microsoft 2003/2004:57% of computer users between 18 and 64 could
benefit from assistive technology
You should care because you make better apps and reach more people.
![Page 44: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/44.jpg)
Legal
● Rehabilitation Act (1973) amended with section 504 and 508
● Americans with Disabilities Act (1990)● Special Educational Needs and Disability
Act (2001)● EU Charter of Fundamental Rights
![Page 45: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/45.jpg)
Virtual Keyboards
Screen Reader
Braille
Speech recognition
Assistive Technology
DeafBlindMotoricalDyslexia
![Page 46: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/46.jpg)
Example: OpenDyslexic
Allow platform or custom fonts!
http://dyslexicfonts.com/
Special fonts
Adds “gravity” to the letters so they don't turn around.
![Page 47: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/47.jpg)
APIs and Platforms
In this section you will get a short overview of what Qt interfaces with for each plarform.
This is mostly interesting when debugging accessibility of your application.
![Page 48: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/48.jpg)
Accessibility APIs – that's what they looked like to me in the beginning.
![Page 49: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/49.jpg)
Accessibility APIs
MSAA
AppleAccessibility APIIAccessible2 AT-SPI 2
UI Automation
Not going to mention mobile (iOS/Android)
The left column is Windows, then Linux and Mac.
Luckily there is no need to care about these sine Qt abstracts the individual APIs away. It only matters for debugging with platform tools (see last section).
![Page 50: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/50.jpg)
Qt
QWidget::accessibleName (and Description)
QAccessibleInterface (improved in Qt 5)
Qt Quick: Accessible (starting with Qt 5)
For QWidget the easy thing to improve accessibility is setting the accessibleName and accessibleDescription properties:
myWidget->setAccessibleName(“label”);
More complex solutions: subclass QAccessibleInterface
Qt Quick: attached property Accessible
Please refer to the documentation for each.
![Page 51: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/51.jpg)
Except Linux and Qt 4.8:qtatspi/qt-at-spi
No external dependencies
All accessibility features work with a Qt build since 4.8.
The one exception is Linux and Qt 4 where a plugin is needed. Almost all Linux distributions have packages for qt-at-spi. In Qt 5 the plugin has been merged and is part of qtbase.
(Much easier than a year ago where it took me two days to get it running at all.)
![Page 52: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/52.jpg)
Making Applications Accessible
Colors
Fonts
Keyboard navigation
The goal is clear: reach as many users as possible.
For that: follow platform color schemes if possible, otherwise make sure you have high enough contrasts. Everyone benefits from that.
For the fonts it's the same, go with the platform, allow big fonts and test with them.
Keyboard navigation is especially required by screen reader users. It is very important there since “pressing tab” is the primary means of discovering your application.
![Page 53: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/53.jpg)
Accessible Name
Demo - Calculator
One of the examples shipped with Qt, the widget calculator one shows a funny behavior with the Orca screen reader.
The “MR” button is read as Mister. This demo shows how to fix it to read “read memory” instead by setting the AccessibleName.
![Page 54: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/54.jpg)
QWidget::setAccessibleName()
In Code
![Page 55: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/55.jpg)
QAccessibleInterface
QAccessibleInterface can be subclassed for custom widgets. For convenience Qt offers QAccessibleObject/Widget.
This allows to get you started making custom widgets accessible easily.
Most important properties: Name, Description, State and Role.
![Page 56: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/56.jpg)
Important Properties
Name
Description
Role
State
Things to keep in mind when subclassing QAccessibleInterface:
Name: short concise, should be translated and should not be the Role (“button” as name does not help, use “open” for an open button in a menu with no visible text).
Description: longer than name, gives more detailed information about an object
Role: the type of the object, see QAccessible::Role
State: the state, such as focused etc.
![Page 57: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/57.jpg)
Demo – Rating Widget
![Page 58: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/58.jpg)
Demo – Rating Widget in QML
![Page 59: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/59.jpg)
Tools
(Maybe blank screen)
![Page 60: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/60.jpg)
Mac Tools
![Page 61: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/61.jpg)
Voice Over
Voice Over
Helpful for debugging: not reading but visual
![Page 62: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/62.jpg)
Accessibility Inspector
![Page 63: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/63.jpg)
Accessibility Verifier
![Page 64: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/64.jpg)
NVDA
NVDA (NV Access)Actual screen reader preferred by many blind people.
It's free and Open source. It uses both MSAA and IA2.
Has a speech viewer that can be pleasant to use while developing.
![Page 65: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/65.jpg)
Acc Explorer
Accessible Explorer 2.0 (Microsoft)Allows you to see the hierarchy, to navigate it andinteract with the actions and properties exposed.For the hierarchy this is usually the preferredtool. However, it is obsolete, and might be hard to find.
![Page 66: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/66.jpg)
Accessibility Probe
Accessibility Probe (IBM)Tool for inspecting both MSAA and IA2, with focus on
IA2. Only usable "inspector" tool available for IA2 on windows.
![Page 67: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/67.jpg)
Microsoft Inspect
Inspect 7.1 (Microsoft)Allows you to see the hierarchy, to navigate it andinteract with the actions and properties exposed.
Allows more powerful focus testing. Supports MSAA and UI Automation but not IAccessible2.
![Page 68: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/68.jpg)
Linux Tools
![Page 69: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/69.jpg)
Orca
Currently the only real screen reader option on Linux.
![Page 70: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/70.jpg)
Accerciser
Together with Orca one of the Gnome tools. Shows the hierarchy of accessible objects and has a scripting interface (Python).
![Page 71: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/71.jpg)
Randamizer
Newly developed tool written in Qt, mostly to verify our APIs.
Becoming more and more useful for debugging.
![Page 72: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/72.jpg)
Summary
![Page 73: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/73.jpg)
Check Your Application
Colors, Fonts
Keyboard navigation
Screen Reader
![Page 74: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/74.jpg)
Qt Quick
Webkit
Future Work
Qt Quick works really nicely, but needs some improvements, for example when it comes to list views.
Qt WebKit is currently not accessible.
![Page 76: About me · Except Linux and Qt 4.8: qtatspi/qt-at-spi No external dependencies All accessibility features work with a Qt build since 4.8. The one exception is Linux and Qt 4 where](https://reader030.fdocuments.net/reader030/viewer/2022040907/5e7e03f62a4b19725b5c8c21/html5/thumbnails/76.jpg)
Differences Qt 4/5
● Improved notifications● Text● Tables
● Interface implementation much simpler● IAccessible2 on Windows