Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 [IAccessible2 support in JAWS]

2022-06-24 Thread Michael Weghorn

On 22/06/2022 14.44, Jason White wrote:
Note also that GTK 4 implements its own accessibility API, which, under 
Linux, connects directly to the running AT-SPI 2 demon. This approach 
may be an option in the future when the GTK 4 accessibility support 
matures. In other words, GTK is migrating away from ATK.


For now, though, maintaining and improving the ATK support would be the 
best option for Linux users.


I agree that focusing on improving a11y for the gtk3 variant (gtk3 "VCL 
plugin", which uses ATK) for Linux sounds like a reasonable approach for 
production use for now until GTK4 a11y matures.


Besides that, I am also looking a bit into improving a11y for the Qt 
based VCL plugins, but that is far from being in a usable state as of now.


--
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy


RE: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 [IAccessible2 support in JAWS]

2022-06-09 Thread Marco Zehe
Hi Michael,

yes, it is correct that IAccessible2 and ATK were both devised with the Open 
document format model in mind, with the implementation in Firefox following 
closely behind, introducing some web specific modifications into the 
specifications for both platforms. 

So, yes, as Michael W. suggested, for the near term, and probably some years to 
come, it is a good strategy to fix bugs in the IAccessible2 and ATK layers to 
get them up to speed. And as I said, even Impress can be made to work, at least 
with NVDA, by making sure to collaborate with the NVDA project so they support 
it when it is ready.

It is, however, a good strategy to also keep an eye on UIA, at least on the 
side, and also watch what Mozilla do with Firefox in the longer term with 
regards to an UIA implementation. Just to not get hit out of the blue with 
suddenly IAccessible2 support twindling within assistive technologies because 
everyone else has moved to UIA.

Marco


-Original Message-
From: Michael Stahl  
Sent: Thursday, June 9, 2022 11:51 AM
To: Michael Weghorn ; Marco Zehe ; 
accessibility@global.libreoffice.org
Cc: libreoffice...@lists.freedesktop.org; libreoff...@lists.freedesktop.org
Subject: Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 
[IAccessible2 support in JAWS]

On 09.06.22 11:21, Michael Weghorn wrote:
> I suppose that supporting new UIA concepts/features in addition would 
> probably require more fundamental changes than "just" adding a new 
> wrapper/bridge for UIA around existing LO a11y interfaces (either a 
> custom one, or using Gtk/Qt).
> But I'm not an expert and have only little experience with a11y so far 
> and not looked into UIA any closer, so all of the above would need 
> deeper knowledge/further investigation for a more reliable statement.
> 
> Unless there are resources to work on UIA specifically, I tend to 
> think it would make sense to focus on improving the existing 
> IAccessible2-based implementation ("winaccessibility") (and fixing 
> issues that are not platform-specific) for now if that's (still) 
> sufficiently supported by AT in practice, and reconsider what to do 
> about UIA at some later point in time (at which there might also be 
> news on the state of gtk4 and qt5/qt6 a11y).

i tend to agree, one aspect of this is that AFAIK the AT-SPI and
IAccessible2 APIs that concern document content were designed specifically with 
OOo's document models in mind - there might be a bigger impedance mismatch to 
other A11y APIs, needing more code in the "translation layer".

but i don't know any details about UIA.

-- 
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy


Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 [IAccessible2 support in JAWS]

2022-06-09 Thread Michael Weghorn


Hi Marco, all,

On 09/06/2022 09.39, Marco Zehe wrote:

AFAIK, QT exposes accessibility information to UIA on Windows. They switched 
over from an MSAA implementation to UIA some time in the QT5 time frame: 
https://www.qt.io/blog/2018/02/20/qt-5-11-brings-new-accessibility-backend-windows.


Indeed, that was what I had come across as well. (I had linked the 
corresponding Qt commit in the wiki article about adding UIA support.)



So, using QT widgets in the VCL certainly would help with that, UIA 
implementation bugs in the Windows QT layer not withstanding of course. So, 
there are advantages of using QT on Windows where appropriate, but that also 
entails the danger of inheriting QT UIA bugs.


Very true. While looking a bit into a11y of the Qt-based LO VCL plugins 
on Linux, I also came across some issues that need fixing for the AT-SPI 
integration in the Qt library rather than in LO.



I don't know anything about GTK4, so cannot make any qualified statement.


At a quick glance, everything underneath Gtk 4's "gtk/a11y" directory in 
git ( https://gitlab.gnome.org/GNOME/gtk/-/tree/main/gtk/a11y ) still 
looks AT-SPI only, though that might change at some point.



The original advantages of IAccessible2 and GTK3 was that they were made to be 
very closely related to one another in terms of concepts. But with GTK4 and 
other frameworks becoming more prominent, this has only been in a maintained 
state for years, not really further developed, except for adding necessary 
missing pieces for new HTML widgets or markup. UIA, on the other hand, has 
turned out to be much more flexible especially with the latest enhancements 
published by Microsoft. Custom property sets etc., which allows for various 
annotations in MS Word, Excel etc. NVDA has a pull request for implementation 
of some of these newest UIA technologies into their support for MS Office here: 
https://github.com/nvaccess/nvda/pull/13387

So, in the long run, it is probably safest to indeed invest in switching to an UIA implementation. 
Note, however, that you may still need to do some work yourselves for the document specific stuff for Writer, Calc, and Impress specifically, since probably not everything is available in the QT libraries that you need.


As I understand it from what I have seen so far, the concept for current 
LO a11y is also largely based on the same concepts as 
IAccessible2/AT-SPI, and Qt a11y API is also largely based on the same.


IIUC, what current platform-specific a11y integrations in LO (gtk3, 
qt5/qt6, winaccessibility) do is mostly provide a wrapper around/bridge 
between LO a11y API and the platform-specific API (ATK for gtk3 which is 
bridged to AT-SPI by ATK, Qt for qt5/qt6 which is then bridged to AT-SPI 
by the Qt library for the Linux case, MSAA/IAccessible2 for 
winaccessibility).


Most of the LO UI and document-specific a11y is implemented in a 
platform-independent way (VCL toolkit for the UI) and the mapping to the 
platform-specific implementations happens in a thin layer.


In my understanding, that would remain unchanged in case of using either 
Gtk or Qt on Windows as well. As far as a11y is concerned, this would 
essentially mean dropping the MSAA/IAccessible2 bridge contained in the 
"winaccessibility" directory and reusing the code that is also used for 
Linux (and leave the mapping to UIA to Gtk/Qt).


Should that turn out to be a reasonable approach (which I don't know!), 
my expectation would be that this would essentially give us the same set 
of features with UIA that we currently have with IAccessible2.


I suppose that supporting new UIA concepts/features in addition would 
probably require more fundamental changes than "just" adding a new 
wrapper/bridge for UIA around existing LO a11y interfaces (either a 
custom one, or using Gtk/Qt).
But I'm not an expert and have only little experience with a11y so far 
and not looked into UIA any closer, so all of the above would need 
deeper knowledge/further investigation for a more reliable statement.



Unless there are resources to work on UIA specifically, I tend to think 
it would make sense to focus on improving the existing 
IAccessible2-based implementation ("winaccessibility") (and fixing 
issues that are not platform-specific) for now if that's (still) 
sufficiently supported by AT in practice, and reconsider what to do 
about UIA at some later point in time (at which there might also be news 
on the state of gtk4 and qt5/qt6 a11y).


Happy to hear what others think about this.

Michael

--
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy


RE: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 [IAccessible2 support in JAWS]

2022-06-09 Thread Marco Zehe
Hi Michael,

AFAIK, QT exposes accessibility information to UIA on Windows. They switched 
over from an MSAA implementation to UIA some time in the QT5 time frame: 
https://www.qt.io/blog/2018/02/20/qt-5-11-brings-new-accessibility-backend-windows.
 So, using QT widgets in the VCL certainly would help with that, UIA 
implementation bugs in the Windows QT layer not withstanding of course. So, 
there are advantages of using QT on Windows where appropriate, but that also 
entails the danger of inheriting QT UIA bugs.

I don't know anything about GTK4, so cannot make any qualified statement.

The original advantages of IAccessible2 and GTK3 was that they were made to be 
very closely related to one another in terms of concepts. But with GTK4 and 
other frameworks becoming more prominent, this has only been in a maintained 
state for years, not really further developed, except for adding necessary 
missing pieces for new HTML widgets or markup. UIA, on the other hand, has 
turned out to be much more flexible especially with the latest enhancements 
published by Microsoft. Custom property sets etc., which allows for various 
annotations in MS Word, Excel etc. NVDA has a pull request for implementation 
of some of these newest UIA technologies into their support for MS Office here: 
https://github.com/nvaccess/nvda/pull/13387

So, in the long run, it is probably safest to indeed invest in switching to an 
UIA implementation. Note, however, that you may still need to do some work 
yourselves for the document specific stuff for Writer, Calc, and Impress 
specifically, since probably not everything is available in the QT libraries 
that you need.

Marco

-Original Message-
From: Michael Weghorn  
Sent: Thursday, June 9, 2022 9:01 AM
To: Marco Zehe ; accessibility@global.libreoffice.org
Cc: libreoffice...@lists.freedesktop.org; libreoff...@lists.freedesktop.org
Subject: Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 
[IAccessible2 support in JAWS]


Hi Marco,

On 08/06/2022 13.09, Marco Zehe wrote:
> JAWS does support IAccessible2, but only if it needs to, like in Firefox, and 
> some parts of Chromium-based browsers. However, with the UI Automation 
> implementation for the latter becoming stronger, there might be a time when 
> JAWS moves to UIA for web content support in Chromium browsers. But you never 
> know what plans Vispero actually has for which version of JAWS, ZoomText, and 
> Fusion. All I notice is that, with Windows 11 having an even stronger UIA 
> implementation than 10, more things are being done through that interface 
> rather than traditional MSAA or IAccessible2 channels where possible. And as 
> has been said elsewhere, UIA properties and events are even very accessible 
> from within the JAWS scripting language, which makes this even more 
> compelling because the end user experience can be customized further. As 
> IAccessible2 is an extension of MSAA, and MSAA is largely deprecated by 
> Microsoft, it will probably never get the same treatment.

thanks a lot for that valuable input.

I have added a new sub-section for adding UIA support to the wiki page ( 
https://wiki.documentfoundation.org/Development/Under-loved_areas#UIA_support_on_Windows
), mostly based on the above and more information from your other email about 
announcing slide content in Impress presentation mode ( 
https://listarchives.libreoffice.org/global/accessibility/msg01007.html ).

A probably rather crazy thought I once had was whether it would be a good idea 
to try to get rid of our custom a11y bridge on Windows in the long run after 
all, e.g. by switching to Gtk or Qt there as well (at least as one option). But 
that would certainly have to make sense not only from the a11y perspective but 
the UI as a whole and would probably be rather contentious.

(I have close to zero knowledge about Windows-specific bits in LO besides 
winaccessibility, so don't know whether there would be any value in even 
spending any time in looking into this any further at some point in time. And 
as of now, neither the gtk4 nor the qt5/qt6 VCL plugins in LO have proper a11y 
anyway, and the Gtk 4 library presumably doesn't have any a11y implementation 
for Windows yet either, even though the new a11y architecture [1] in Gtk 4 
should allow for one to be added at some
stage.)

Michael

[1] https://blog.gtk.org/2020/10/21/accessibility-in-gtk-4/

-- 
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy


Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 [IAccessible2 support in JAWS]

2022-06-09 Thread Michael Weghorn


Hi Marco,

On 08/06/2022 13.09, Marco Zehe wrote:

JAWS does support IAccessible2, but only if it needs to, like in Firefox, and 
some parts of Chromium-based browsers. However, with the UI Automation 
implementation for the latter becoming stronger, there might be a time when 
JAWS moves to UIA for web content support in Chromium browsers. But you never 
know what plans Vispero actually has for which version of JAWS, ZoomText, and 
Fusion. All I notice is that, with Windows 11 having an even stronger UIA 
implementation than 10, more things are being done through that interface 
rather than traditional MSAA or IAccessible2 channels where possible. And as 
has been said elsewhere, UIA properties and events are even very accessible 
from within the JAWS scripting language, which makes this even more compelling 
because the end user experience can be customized further. As IAccessible2 is 
an extension of MSAA, and MSAA is largely deprecated by Microsoft, it will 
probably never get the same treatment.


thanks a lot for that valuable input.

I have added a new sub-section for adding UIA support to the wiki page ( 
https://wiki.documentfoundation.org/Development/Under-loved_areas#UIA_support_on_Windows 
), mostly based on the above and more information from your other email 
about announcing slide content in Impress presentation mode ( 
https://listarchives.libreoffice.org/global/accessibility/msg01007.html ).


A probably rather crazy thought I once had was whether it would be a 
good idea to try to get rid of our custom a11y bridge on Windows in the 
long run after all, e.g. by switching to Gtk or Qt there as well (at 
least as one option). But that would certainly have to make sense not 
only from the a11y perspective but the UI as a whole and would probably 
be rather contentious.


(I have close to zero knowledge about Windows-specific bits in LO 
besides winaccessibility, so don't know whether there would be any value 
in even spending any time in looking into this any further at some point 
in time. And as of now, neither the gtk4 nor the qt5/qt6 VCL plugins in 
LO have proper a11y anyway, and the Gtk 4 library presumably doesn't 
have any a11y implementation for Windows yet either, even though the new 
a11y architecture [1] in Gtk 4 should allow for one to be added at some 
stage.)


Michael

[1] https://blog.gtk.org/2020/10/21/accessibility-in-gtk-4/

--
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy


RE: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 [IAccessible2 support in JAWS]

2022-06-08 Thread Marco Zehe
Hi Michael,

JAWS does support IAccessible2, but only if it needs to, like in Firefox, and 
some parts of Chromium-based browsers. However, with the UI Automation 
implementation for the latter becoming stronger, there might be a time when 
JAWS moves to UIA for web content support in Chromium browsers. But you never 
know what plans Vispero actually has for which version of JAWS, ZoomText, and 
Fusion. All I notice is that, with Windows 11 having an even stronger UIA 
implementation than 10, more things are being done through that interface 
rather than traditional MSAA or IAccessible2 channels where possible. And as 
has been said elsewhere, UIA properties and events are even very accessible 
from within the JAWS scripting language, which makes this even more compelling 
because the end user experience can be customized further. As IAccessible2 is 
an extension of MSAA, and MSAA is largely deprecated by Microsoft, it will 
probably never get the same treatment.

Marco




-Original Message-
From: Michael Weghorn  
Sent: Tuesday, June 7, 2022 1:27 PM
To: Christophe Strobbe ; 
libreoff...@lists.freedesktop.org; accessibility@global.libreoffice.org
Cc: libreoffice...@lists.freedesktop.org
Subject: Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 
[IAccessible2 support in JAWS]


Hi Christophe,

On 07/06/2022 12.14, Christophe Strobbe wrote:
> After some online searching, it seems that JAWS at least used to support 
> IAccessible2, originally mainly for IBM Lotus Symphony.
> According to a tweet by Marco Zehe from December last year, JAWS 
> handles Chromium and Edge via IAccessible2. (See 
> https://twitter.com/MarcoInEnglish/status/1471523578805997570 )

That sounds promising, JAWS was what I vaguely had in mind about having been 
mentioned of presumably not supporting IAccessible2 (well) in the past.

> Twitter is not an ideal source, but I couldn't find any documentation related 
> to IAccessible2 on Freedom Scientific's website. They do have documentation 
> on to use script access to UIAutomation: 
> https://support.freedomscientific.com/support/jawsdocumentation/UIAScriptAPI 
> but nothing similar for IAccessible2.
> This calls for some LibreOffice testing with JAWS; I hope to do some of that 
> next weekend.

Thanks a lot, that's much appreciated!

Best regards,
Michael

--
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy

-- 
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy


Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 [IAccessible2 support in JAWS]

2022-06-07 Thread Michael Weghorn


Hi Christophe,

On 07/06/2022 12.14, Christophe Strobbe wrote:

After some online searching, it seems that JAWS at least used to support 
IAccessible2, originally mainly for IBM Lotus Symphony.
According to a tweet by Marco Zehe from December last year, JAWS handles 
Chromium and Edge via IAccessible2. (See 
https://twitter.com/MarcoInEnglish/status/1471523578805997570 )


That sounds promising, JAWS was what I vaguely had in mind about having 
been mentioned of presumably not supporting IAccessible2 (well) in the past.



Twitter is not an ideal source, but I couldn't find any documentation related 
to IAccessible2 on Freedom Scientific's website. They do have documentation on 
to use script access to UIAutomation: 
https://support.freedomscientific.com/support/jawsdocumentation/UIAScriptAPI 
but nothing similar for IAccessible2.
This calls for some LibreOffice testing with JAWS; I hope to do some of that 
next weekend.


Thanks a lot, that's much appreciated!

Best regards,
Michael

--
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy


Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26 [IAccessible2 support in JAWS]

2022-06-07 Thread Christophe Strobbe
Hi Michael, All,

(Apologies if this message has too many addressees; I'm not sure which ones I 
should drop.)

After some online searching, it seems that JAWS at least used to support 
IAccessible2, originally mainly for IBM Lotus Symphony. 
According to a tweet by Marco Zehe from December last year, JAWS handles 
Chromium and Edge via IAccessible2. (See 
https://twitter.com/MarcoInEnglish/status/1471523578805997570 )
Twitter is not an ideal source, but I couldn't find any documentation related 
to IAccessible2 on Freedom Scientific's website. They do have documentation on 
to use script access to UIAutomation: 
https://support.freedomscientific.com/support/jawsdocumentation/UIAScriptAPI 
but nothing similar for IAccessible2.
This calls for some LibreOffice testing with JAWS; I hope to do some of that 
next weekend.

Best regards,

Christophe Strobbe


> On 07 June 2022 at 11:25 Michael Weghorn  wrote:
> 
>(...) 
> 
> One other aspect that came to my mind:
> 
> For Windows, we currently support IAccessible2, but not UIA.
> That's fine for NVDA, but I have heard/read at times that other screen 
> readers/AT rely more on UIA. (But I haven't done any further research so 
> far.)
> Does anybody know more about this and whether it would actually be 
> necessary to implement native UIA support in LO for those AT to properly 
> interact with LO?
> (Or is it more about having proper plugins/app modules/scripts for LO 
> for the single AT, since e.g. NVDA and JAWS appear to rely heavily on 
> those to properly support specific apps?)

-- 
To unsubscribe e-mail to: accessibility+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/accessibility/
Privacy Policy: https://www.documentfoundation.org/privacy