[Accessibility] basic accessibility in qt 5.4
Steve Clarke
trumpton14 at trumpton.org.uk
Sun Jan 25 11:28:07 CET 2015
I'm using 5.4.1, and I've not needed to #include <Accessibility> - in fact,
now that accessibility is included in the qtbase, and not as a plugin, all I
need to do in qtcreator is set the accessible names.
I develop apps on Linux using QTCreator, and I'm successfully compiling
natively on a Windows PC with the freely available MSVC2010 compiler, on the
command line.
DIFFERENT SCREEN READERS
Last year, I looked at different screen-readers and how compatible they were.
There's been lots of improvement, particularly with NVDA, but Jaws and Window
Eyes are woefully behind - mainly caused by the lack of support / responses
from Jaws etc. themselves.
DIFFERENT COMPILER BEHAVIOUR
I would also point out that the compiler and the way you compile have an
impact - last year, I had a go with cross-compiling with MinGW, and couldn't
get accessibility to work at all. Sniffing through the code today, I see an
example:
qtbase/src/plugins/platforms/windows/accessible/qwindowsaccessibility.cpp
#ifdef Q_CC_MINGW
# include "qwindowsmsaaaccessible.h"
#else
# include "iaccessible2.h"
#endif
Which would imply that MinGW and MSVC2010 may still provide different results.
A USEFUL NVDA BRAILLE VIEWER TOOL
I've been talking to the NVDA team, and have mentioned that it is difficult to
check that an application correctly drives a braille display if you don't have
one to hand. They responded quickly with a really small add-in which puts a
braille viewer on the screen (works fine on Windows 7, problems with fonts on
XP).
The post can be found here:
http://sourceforge.net/p/nvda/lists/message/33259006/
And the BrailleViewer Add-In can be found here:
https://dl.dropboxusercontent.com/u/28976681/brailleViewer.py?dl=1
If you find it useful, I would encourange you to provide feedback to the NVDA
project, and they would consider putting it into the main software release.
Steve
On Saturday 24 January 2015 14:21:03 verum nocte wrote:
> For further reference:
> To make basic accessibility one needs to:
> - #include <Accessibility> - (probably to .h file of any class with
> ui)
> - Write accessible names and accessible descriptions (later is not
> necessary, but helps). This can be done ether through creator or
> grammatically.
> - Despite all (old) tutorials about deploying with
> qaccessbilewidgets4.dll and stuff one does not need to add anything to
> achieve accessibility when dynamically linking on windows. Currently
> (2015-01-24) my basic folder (that works) looks like:
>
> application_folder
> platforms
> qwindows.dll
> application.exe
> d3dcompiler_47.dll
> icudt53.dll
> icuin53.dll
> icuuc53.dll
> libEGL.dll
> libGLESv2.dll
> msvcp120.dll
> msvcr120.dll
> Qt5Core.dll
> Qt5Gui.dll
> Qt5Widgets.dll
>
> All the dll's exept for msvcp120.dll and msvcr120 are (for me) available in
> Qt/5.4/msvc2013_64. Of course to achieve additional functionalities one
> would need more than that, but just to work with nvda that is all one
> needs. Awesome. It was too easy :):
More information about the Accessibility
mailing list