[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.


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.


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 

  #ifdef Q_CC_MINGW
  # include "qwindowsmsaaaccessible.h"
  # include "iaccessible2.h"

Which would imply that MinGW and MSVC2010 may still provide different results.


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 

The post can be found here:


And the BrailleViewer Add-In can be found here:


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.


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