[Accessibility] QAccessibleEvent not being seen by screen readers

Marc Sabatella marc at outsideshore.com
Thu Jan 23 22:31:18 CET 2020


OK, something is definitely up with value change events.  I have accepted I
needed to explicitly handle the event for my custom widget in scripts for
Orca and JAWS - part of the price of creating a custom widget that doesn't
neatly fit existing roles or interfaces.  But - spinboxes should work with
all screenreaders out of the box, and they don't in JAWS.  I've verified
this with MuseScore built both Qt 5.9 (MSAA) and Qt 5.12 (UIA), and I've
also verified it with QtCreator (the spin box in the first page of to rule
out the possibility it's somehow something we aren't doing right.  JAWS
reads "blank" on value changes.  And yet, spin boxes in other applications
do read.  As it happens, my same script that forces reading of value
changes for my custom widget is happy to read these for spinboxes too, but
surely I shouldn't need to script just for standard widgets?

Marc

On Wed, Jan 22, 2020 at 5:59 PM Marc Sabatella <marc at outsideshore.com>
wrote:

> Apparently I’m wrong about the value change event not being generated at
> all.  Even though it doesn’t show in Accessibility Insights, I *was* able
> to write a JAWS script to detect them and read what I need.  Not sure
> what’s going on exactly, but I’m glad to have the start of a solution.
>
> On Wed, Jan 22, 2020 at 4:32 PM Marc Sabatella <marc at outsideshore.com>
> wrote:
>
>> As mentioned, I've managed to make considerable progress on the Linux
>> side.  By generating value change events from MuseScore (whether that's
>> "right" or not) and having a script listen for them, Orca reads happily.
>> Maybe I'll revisit that, but for now I'm moving on to Windows.
>>
>> The same code works for NVDA, and it works for JAWS *if* we build with Qt
>> 5.9.  But I still am having no luck with Qt 5.12.  As far as I can tell, no
>> events are generated when I call updateAccessibility(), whether I use
>> value, description, or name changes.  So I'm thinking maybe there is
>> something I need to to enable UIA at all, kind of like how I needed to set
>> QT_LINUX_ACCESSIBILITY_ALWAYS_ON to get anything happening on Linux?  I
>> also know there is a distinction between "value value" and "range value",
>> and the former is what should be generated, maybe there is some mixup here.
>>
>> Another possible clue: even the spin boxes don't read their contents when
>> I change them in this environment (Qt 5.12 + JAWS).  JAW does notice on
>> each change but just says "blank".  That's true in a 5.9 build too.
>>
>> Marc
>>
>> On Sun, Jan 19, 2020 at 3:34 PM Samuel Thibault <
>> samuel.thibault at ens-lyon.org> wrote:
>>
>>> Marc Sabatella, le dim. 19 janv. 2020 15:27:47 -0700, a ecrit:
>>> > But it does seem that somehow there is something missed here.  Some
>>> sort of
>>> > general "navigatable object" that would be expected to change its
>>> value or
>>> > description in response to navigation commands.  Like, a more
>>> generalized
>>> > version of a document, or a table.
>>>
>>> That's why I advise you to discuss about it with Joanmarie to see how to
>>> implement it best.
>>>
>>> Samuel
>>>
>>
>>
>> --
>> Marc Sabatella
>> marc at outsideshore.com
>>
> --
> Marc Sabatella
> marc at outsideshore.com
>


-- 
Marc Sabatella
marc at outsideshore.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/accessibility/attachments/20200123/ba39b40c/attachment.html>


More information about the Accessibility mailing list