[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