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},

Reply via email to