[Accessibility] basic accessibility in qt 5.4
vernocte at gmail.com
Sat Jan 24 14:21:03 CET 2015
Thanks you for your reply. Turns out I gave up just before reaching
finishing line. I installed nvda myself and accessibility worked on
development machine. I than realised that mistake must be at deploy - i
keep folder with all .dlls that needs to be added to .exe to be working on
other windows machines and when i want to deploy i just put in the
appropriate exe and it works (lazy me). Turns out those dll's vere from qt
5.3.2 while applications were build on 5.4. Everything worked no matter -
except for accessibility.
For further reference:
To make basic accessibility one needs to:
- #include <Accessibility> - (probably to .h file of any class with
- Write accessible names and accessible descriptions (later is not
necessary, but helps). This can be done ether through creator or
- 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:
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 :):
One more curiosity i found when using nvda myself is that it recognizes
toggable buttons as radio buttons.
On Sat, Jan 24, 2015 at 12:46 PM, Andrei Tuicu <andrei.tuicu at gmail.com>
> Hello Jurij!
> I am using qt with c++ to write few small utility applications. During
>> past few days i read quite a few articles on accessibility and from what i
>> gathered all one needs to do to get some basic accessibility is to add
>> accessibility library and add accessible names and descriptions. Friend of
>> mine tested it on both jaws and nvda and he can't see anything but some
>> graphic xx objects where xx are numbers. his braille display doesn't show
>> anything as well.
>> All tutorials and documentation i managed to find focuses mostly on
>> implementing accessibility for custom widgets.
> What are minimum requirements to get at least some accessibility (for
>> starters i'll be completely happy to get accessible names working)?
> You can first set the accessibleName and accessibleDescription properties
> of your objects using the setAccessibleName/Description methods (if you
> create those objects dynamically), or directly from the designer. If you
> are working on Windows, I do recommend that you test these by yourself
> using NVDA screen-reader which is free and very easy to install, or
> depending on your version of Windows one of the tools from here 
> If you are using a Qt older than 5.4 you need to copy the folder
> "accessible" from path\to\Qt\5.*\mingw48_32\plugins to where your
> executable is compiled, if you are using 5.4 it should work out of the box.
>> Also if i were to inherit from widgets like qpushbutton or qlabel, would
>> i inherit its accessibility on parts i am not changing? To rephrase, if i
>> only inherited widget and leaving everything as it is, would accessibility
>> still work?
> Yes, they will. Use the same methods from above.
> Hope to get some answers...
>> P.S. To Frederik and all others at Qt - you are doing great work, even
>> though you sometimes have to listen to criticism there are some of us who
>> can appreciate what you do.
> Best regards,
> Andrei Tuicu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Accessibility