cui/uiconfig/ui/textflowpage.ui |   14 ++------------
 solenv/sanitizers/ui/cui.suppr  |    2 --
 vcl/source/window/window.cxx    |    7 ++++++-
 3 files changed, 8 insertions(+), 15 deletions(-)

New commits:
commit 0a6b6c0041bf70539cac6f8c7f48ae656b07aad1
Author:     Parth Raiyani <[email protected]>
AuthorDate: Sat Nov 22 20:32:25 2025 +0530
Commit:     Caolán McNamara <[email protected]>
CommitDate: Thu Feb 26 17:04:32 2026 +0100

    Improves accessibility for split options by providing correct accessible 
name
    
    Signed-off-by: Parth Raiyani <[email protected]>
    Change-Id: I31169a1ea37e4a4d1ed59d9012511a65d4cff86c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194366
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Szymon Kłos <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200441
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/cui/uiconfig/ui/textflowpage.ui b/cui/uiconfig/ui/textflowpage.ui
index 99dd498d15d3..0f9047f1f737 100644
--- a/cui/uiconfig/ui/textflowpage.ui
+++ b/cui/uiconfig/ui/textflowpage.ui
@@ -907,9 +907,6 @@
                 <property name="use-underline">True</property>
                 <property name="inconsistent">True</property>
                 <property name="draw-indicator">True</property>
-                <accessibility>
-                  <relation type="label-for" target="spinOrphan"/>
-                </accessibility>
                 <child internal-child="accessible">
                   <object class="AtkObject" id="checkOrphan-atkobject">
                     <property name="AtkObject::accessible-description" 
translatable="yes" context="textflowpage|extended_tip|checkOrphan">Specifies 
the minimum number of lines in a paragraph before a page break. Select this 
check box, and then enter a number in the Lines box.</property>
@@ -932,9 +929,6 @@
                 <property name="use-underline">True</property>
                 <property name="inconsistent">True</property>
                 <property name="draw-indicator">True</property>
-                <accessibility>
-                  <relation type="label-for" target="spinWidow"/>
-                </accessibility>
                 <child internal-child="accessible">
                   <object class="AtkObject" id="checkWidow-atkobject">
                     <property name="AtkObject::accessible-description" 
translatable="yes" context="textflowpage|extended_tip|checkWidow">Specifies the 
minimum number of lines in a paragraph in the first page after the break. 
Select this check box, and then enter a number in the Lines box.</property>
@@ -953,11 +947,9 @@
                 <property name="activates-default">True</property>
                 <property name="truncate-multiline">True</property>
                 <property name="adjustment">adjustment5</property>
-                <accessibility>
-                  <relation type="labelled-by" target="checkOrphan"/>
-                </accessibility>
                 <child internal-child="accessible">
                   <object class="AtkObject" id="spinOrphan-atkobject">
+                    <property name="AtkObject::accessible-name" 
translatable="yes" context="textflowpage|spinOrphan-atkobject">No split at 
beginning of paragraph, lines</property>
                     <property name="AtkObject::accessible-description" 
translatable="yes" context="textflowpage|extended_tip|spinOrphan">Specifies the 
minimum number of lines in a paragraph before a page break. Select this check 
box, and then enter a number in the Lines box.</property>
                   </object>
                 </child>
@@ -975,11 +967,9 @@
                 <property name="truncate-multiline">True</property>
                 <property name="adjustment">adjustment6</property>
                 <property name="numeric">True</property>
-                <accessibility>
-                  <relation type="labelled-by" target="checkWidow"/>
-                </accessibility>
                 <child internal-child="accessible">
                   <object class="AtkObject" id="spinWidow-atkobject">
+                    <property name="AtkObject::accessible-name" 
translatable="yes" context="textflowpage|spinWidow-atkobject">No split at end 
of paragraph, lines</property>
                     <property name="AtkObject::accessible-description" 
translatable="yes" context="textflowpage|extended_tip|spinWidow">Specifies the 
minimum number of lines in a paragraph in the first page after the break. 
Select this check box, and then enter a number in the Lines box.</property>
                   </object>
                 </child>
diff --git a/solenv/sanitizers/ui/cui.suppr b/solenv/sanitizers/ui/cui.suppr
index 5e3e204ac174..c343dc2a5f9f 100644
--- a/solenv/sanitizers/ui/cui.suppr
+++ b/solenv/sanitizers/ui/cui.suppr
@@ -189,8 +189,6 @@ 
cui/uiconfig/ui/storedwebconnectiondialog.ui://GtkLabel[@id='label1'] orphan-lab
 cui/uiconfig/ui/textanimtabpage.ui://GtkLabel[@id='FT_COUNT'] orphan-label
 cui/uiconfig/ui/textanimtabpage.ui://GtkLabel[@id='FT_AMOUNT'] orphan-label
 cui/uiconfig/ui/textanimtabpage.ui://GtkLabel[@id='FT_DELAY'] orphan-label
-cui/uiconfig/ui/textflowpage.ui://GtkLabel[@id='labelOrphan'] orphan-label
-cui/uiconfig/ui/textflowpage.ui://GtkLabel[@id='labelWidow'] orphan-label
 cui/uiconfig/ui/thesaurus.ui://GtkLabel[@id='notfound'] orphan-label
 cui/uiconfig/ui/tsaurldialog.ui://GtkLabel[@id='label2'] orphan-label
 cui/uiconfig/ui/tsaurldialog.ui://GtkLabel[@id='enteraurl'] orphan-label
commit 21a7b228504a67e3c0ac9b7c07ae17778cfc8dd8
Author:     Henry Castro <[email protected]>
AuthorDate: Fri Jan 9 07:34:40 2026 -0400
Commit:     Caolán McNamara <[email protected]>
CommitDate: Thu Feb 26 17:04:22 2026 +0100

    vcl: dump JSON representation of ARIA role 'tablist'
    
    Certain buttons serve as a tablist role for switching panes
    (e.g., in the Find and Replace dialog), which is necessary for 
accessibility.
    
    Signed-off-by: Henry Castro <[email protected]>
    Change-Id: I3d3cac62eea885a48451bcd895d10247be00b77a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196920
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200443

diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index ef0191582fe9..7c44f63d369f 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -3412,9 +3412,12 @@ void Window::DumpAsPropertyTree(tools::JsonWriter& 
rJsonWriter)
 
     // If GtkLabel has a static accessibility role, mark renderAsStatic.
     // so LOK renders it as <span> instead of <label> for correct 
accessibility.
+    OUString sAccRole;
     sal_uInt16 nAccessibleRole = GetAccessibleRole();
     if (nAccessibleRole == css::accessibility::AccessibleRole::STATIC && 
GetType() == WindowType::FIXEDTEXT)
         rJsonWriter.put("renderAsStatic", true);
+    else if (nAccessibleRole == 
css::accessibility::AccessibleRole::PAGE_TAB_LIST)
+        sAccRole = "tablist";
 
     vcl::Window* pAccLabelFor = getAccessibleRelationLabelFor();
     if (pAccLabelFor)
@@ -3427,13 +3430,15 @@ void Window::DumpAsPropertyTree(tools::JsonWriter& 
rJsonWriter)
     OUString sAccName = (!pAccLabelFor && !pAccLabelledBy) ? 
GetAccessibleName() : OUString();
     OUString sAccDesc = GetAccessibleDescription();
 
-    if (!sAccName.isEmpty() || !sAccDesc.isEmpty())
+    if (!sAccName.isEmpty() || !sAccDesc.isEmpty() || !sAccRole.isEmpty())
     {
         auto aAria = rJsonWriter.startNode("aria");
         if (!sAccDesc.isEmpty())
             rJsonWriter.put("description", sAccDesc);
         if (!sAccName.isEmpty())
             rJsonWriter.put("label", sAccName);
+        if (!sAccRole.isEmpty())
+            rJsonWriter.put("role", sAccRole);
     }
 
     mpWindowImpl->maDumpAsPropertyTreeHdl.Call(rJsonWriter);

Reply via email to