LCL Accessibility

From Lazarus wiki
Revision as of 11:31, 20 January 2012 by Sekelsenmat (talk | contribs) (→‎Qt)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Accessibility means planning and developing applications in a way in which everyone will be able to use them, including blind, persons with low vision, with motion disorders, etc.

Screen Reader Support

Screen Readers

The first step in testing screen reader support is installing one and being able to use it to check what users will see when using your application.

Mac OS X VoiceOver

The screen reader for the vast majority of users in Mac OS X is VoiceOver which comes pre-installed in Mac OS X. To activate it go to Settings->Universal Access and turn VoiceOver on. It couldnt be any simpler. Using it is also mostly easy and intuitive.

Orca for Linux

Orca is currently the most popular screen reader in Linux for both GNOME and KDE. See: http://en.wikipedia.org/wiki/Orca_(assistive_technology)

Accessibility Inspector Tools

Accessibility inspectors can help a lot at checking if the application is giving correct information.

Mac OS X

In /Developer/Applications/Utilities/Accessibility Tools/ there is an Accessibility Inspector which will be very useful when developing in this platform.

Accessibility APIs

Carbon

Cocoa

Microsoft Active Accessibility

See: http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility

Also: http://www.stevetrefethen.com/blog/UsingtheMSAAIAccessibleinterfacewithinaDelphiApplication.aspx

AT-SPI for Linux

See: http://en.wikipedia.org/wiki/AT-SPI

Qt

See: http://doc.qt.nokia.com/4.3/qaccessiblewidget.html

Also: http://doc.qt.nokia.com/4.3/qaccessible.html#Role-enum

Also: http://doc.qt.nokia.com/qq/qq24-accessibility.html

Concepts mapping

TLazAccessibleObject Qt Mac OS X MSAA AT-SPI Comments
Role QAccessible::Role AXRole Role ? -
Description QAccessibleWidget::setDescription AXRoleDescription and AXDescription ? ? -
Value QAccessibleWidget::setValue AXTitle, AXValue Value, Name, State ? -

See Also