winaccessibility/source/service/AccObject.cxx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
New commits: commit dd0a0ecb839df1289693d4b2f862e3942a80345d Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Oct 6 16:01:03 2023 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Sat Oct 7 00:05:22 2023 +0200 wina11y: Map FRAME a11y role to IAccessible2 equivalent The description of the UNO API role (s. `offapi/com/sun/star/accessibility/AccessibleRole.idl`) and the IAccessible2 role `IA2_ROLE_FRAME` (s. `winaccessibility/source/UAccCOMIDL/ia2_api_all.idl`) match. (The first sentence is even identical.). Therefore, map them accordingly instead of mapping to `ROLE_SYSTEM_DIALOG`, which is not really the same. It's not clear why this "perfect match" was commented ever since commit a18bdb3bc05e761704cc345a66a9d642bc4f4a0a Author: Steve Yin Date: Thu Nov 14 08:18:05 2013 +0000 Integrate branch of IAccessible2 I noticed this because announcement of the status bar in Writer by NVDA as implemented in NVDA commit [1] didn't work any more after commit 2cd1408dd7d6688357257f4a58a8b467628b1884 Author: Michael Weghorn Date: Thu Aug 17 13:15:46 2023 +0100 tdf#156561 a11y: Create VCLXTopWindow peer for border win frame as the DIALOG role was used instead of the WINDOW role after this, and NVDA doesn't consider that yet when looking for the status bar. It also doesn't take `IA2_ROLE_FRAME` into account yet, but this NVDA PR makes NVDA to consider both, `ROLE_SYSTEM_DIALOG` and `IA2_ROLE_FRAME` as well: [2] Just mapping to `ROLE_SYSTEM_WINDOW` instead would still be a better match than the previous `ROLE_SYSTEM_DIALOG` and would make that NVDA scenario work again without further changes to NVDA, but would rather be a workaround than the proper solution. [1] https://github.com/nvaccess/nvda/commit/62536a97cd29019c7055c927746da72435d12b95 [2] https://github.com/nvaccess/nvda/pull/15592 Change-Id: Ide39222d2525cb64106c878e8b0a11174bcb16ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157658 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/winaccessibility/source/service/AccObject.cxx b/winaccessibility/source/service/AccObject.cxx index d84e684b012b..98c6bba9392f 100644 --- a/winaccessibility/source/service/AccObject.cxx +++ b/winaccessibility/source/service/AccObject.cxx @@ -76,8 +76,7 @@ const short ROLE_TABLE[][2] = {FONT_CHOOSER, IA2_ROLE_FONT_CHOOSER}, {FOOTER, IA2_ROLE_FOOTER}, {FOOTNOTE, IA2_ROLE_FOOTNOTE}, - //{FRAME, IA2_ROLE_FRAME}, - {FRAME, ROLE_SYSTEM_DIALOG}, + {FRAME, IA2_ROLE_FRAME}, {GLASS_PANE , IA2_ROLE_GLASS_PANE}, {GRAPHIC , ROLE_SYSTEM_GRAPHIC}, {GROUP_BOX, ROLE_SYSTEM_GROUPING},