cui/uiconfig/ui/lineendstabpage.ui  |    1 +
 cui/uiconfig/ui/linestyletabpage.ui |   11 ++++++++++-
 cui/uiconfig/ui/shadowtabpage.ui    |    2 +-
 solenv/sanitizers/ui/cui.suppr      |    5 +++--
 vcl/source/control/fixed.cxx        |   10 ----------
 vcl/source/window/window.cxx        |   12 +-----------
 6 files changed, 16 insertions(+), 25 deletions(-)

New commits:
commit 90d1815c169954fec21417ace12a4e459014da43
Author:     Parth Raiyani <[email protected]>
AuthorDate: Thu Feb 5 13:25:57 2026 +0530
Commit:     Caolán McNamara <[email protected]>
CommitDate: Fri Feb 6 00:07:04 2026 +0100

    FixedText: remove renderAsStatic flag logic
    
    - no need to stamp renderAsStatic flag in json as changed LOK to create 
<span> as default and only create <label> when label-for attribute is present 
in json
    
    Signed-off-by: Parth Raiyani <[email protected]>
    Change-Id: I069957bd58068d6709ec9128bda3ef45ac4f3b45
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198747
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/vcl/source/control/fixed.cxx b/vcl/source/control/fixed.cxx
index d653acc2523d..aaf8d81980b3 100644
--- a/vcl/source/control/fixed.cxx
+++ b/vcl/source/control/fixed.cxx
@@ -461,16 +461,6 @@ void 
SelectableFixedText::DumpAsPropertyTree(tools::JsonWriter& rJsonWriter)
     Edit::DumpAsPropertyTree(rJsonWriter);
     rJsonWriter.put("type", "fixedtext");
     rJsonWriter.put("selectable", true);
-
-    // Add renderAsStatic for accessibility
-    sal_uInt16 nAccessibleRole = GetAccessibleRole();
-    const std::initializer_list<sal_uInt16> staticRoles = {
-        css::accessibility::AccessibleRole::STATIC,
-        css::accessibility::AccessibleRole::NOTIFICATION
-    };
-
-    if (std::find(staticRoles.begin(), staticRoles.end(), nAccessibleRole) != 
staticRoles.end())
-        rJsonWriter.put("renderAsStatic", true);
 }
 
 void FixedLine::ImplInit( vcl::Window* pParent, WinBits nStyle )
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index af6f4fc3b13a..60d6764b276c 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -3407,19 +3407,9 @@ 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();
-    const std::initializer_list<sal_uInt16> staticRoles = {
-        css::accessibility::AccessibleRole::STATIC,
-        css::accessibility::AccessibleRole::NOTIFICATION
-    };
-
-    if (std::find(staticRoles.begin(), staticRoles.end(), nAccessibleRole) != 
staticRoles.end()
-        && GetType() == WindowType::FIXEDTEXT)
-        rJsonWriter.put("renderAsStatic", true);
-    else if (nAccessibleRole == 
css::accessibility::AccessibleRole::PAGE_TAB_LIST)
+    if (nAccessibleRole == css::accessibility::AccessibleRole::PAGE_TAB_LIST)
         sAccRole = "tablist";
 
     vcl::Window* pAccLabelFor = getAccessibleRelationLabelFor();
commit fb3a8a65a22419ab2aefa2ba3c56e6251e4e8380
Author:     Parth Raiyani <[email protected]>
AuthorDate: Mon Feb 2 16:53:11 2026 +0530
Commit:     Caolán McNamara <[email protected]>
CommitDate: Fri Feb 6 00:06:58 2026 +0100

    a11y: fix accessibility issue in line dialog
    
    - rename conflicting label ids
    - add mnemonic-widget in GtkLabel to correctly reference relevant object
    - add missing labelled-by accessibility relation
    - update suppr file for missing-label-for for linestyletabpage.ui
    
    Signed-off-by: Parth Raiyani <[email protected]>
    Change-Id: Id1332d94bd6ba08b0501e47079f5e2775d3b0f8c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198746
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/cui/uiconfig/ui/lineendstabpage.ui 
b/cui/uiconfig/ui/lineendstabpage.ui
index 91f07417969e..4875f487ee96 100644
--- a/cui/uiconfig/ui/lineendstabpage.ui
+++ b/cui/uiconfig/ui/lineendstabpage.ui
@@ -65,6 +65,7 @@
                     <property name="can-focus">False</property>
                     <property name="label" translatable="yes" 
context="lineendstabpage|FT_LINE_END_STYLE">Arrow _style:</property>
                     <property name="use-underline">True</property>
+                    <property name="mnemonic_widget">LB_LINEENDS</property>
                     <property name="xalign">0</property>
                   </object>
                   <packing>
diff --git a/cui/uiconfig/ui/linestyletabpage.ui 
b/cui/uiconfig/ui/linestyletabpage.ui
index 391444cdd076..2beca17e202a 100644
--- a/cui/uiconfig/ui/linestyletabpage.ui
+++ b/cui/uiconfig/ui/linestyletabpage.ui
@@ -135,7 +135,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="FT_DISTANCE">
+                      <object class="GtkLabel" id="FT_SPACING">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="label" translatable="yes" 
context="linestyletabpage|FT_DISTANCE">_Spacing:</property>
@@ -168,6 +168,9 @@
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="active">1</property>
+                        <accessibility>
+                          <relation type="labelled-by" target="FT_TYPE"/>
+                        </accessibility>
                         <items>
                           <item translatable="yes" 
context="linestyletabpage|liststoreTYPE">Dots</item>
                           <item translatable="yes" 
context="linestyletabpage|liststoreTYPE">Dash</item>
@@ -198,6 +201,9 @@
                         <property name="activates_default">True</property>
                         <property name="truncate-multiline">True</property>
                         <property name="adjustment">adjustmentNUM1</property>
+                        <accessibility>
+                          <relation type="labelled-by" target="FT_NUMBER"/>
+                        </accessibility>
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
@@ -226,6 +232,9 @@
                         <property name="adjustment">adjustmentDIST1</property>
                         <property name="truncate-multiline">True</property>
                         <property name="digits">2</property>
+                        <accessibility>
+                          <relation type="labelled-by" target="FT_LENGTH"/>
+                        </accessibility>
                       </object>
                       <packing>
                         <property name="left_attach">2</property>
diff --git a/cui/uiconfig/ui/shadowtabpage.ui b/cui/uiconfig/ui/shadowtabpage.ui
index 3ce897796f13..49c07dadb505 100644
--- a/cui/uiconfig/ui/shadowtabpage.ui
+++ b/cui/uiconfig/ui/shadowtabpage.ui
@@ -213,7 +213,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="FT_TRANSPARENT">
+                  <object class="GtkLabel" id="FT_TRANSPARENT_SHADOW">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="label" translatable="yes" 
context="shadowtabpage|FT_TRANSPARENT">_Transparency:</property>
diff --git a/solenv/sanitizers/ui/cui.suppr b/solenv/sanitizers/ui/cui.suppr
index 297ef5f57641..0f66f15dff38 100644
--- a/solenv/sanitizers/ui/cui.suppr
+++ b/solenv/sanitizers/ui/cui.suppr
@@ -76,8 +76,9 @@ cui/uiconfig/ui/insertoleobject.ui://GtkEntry[@id='urled'] 
no-labelled-by
 cui/uiconfig/ui/javastartparametersdialog.ui://GtkLabel[@id='label6'] 
orphan-label
 cui/uiconfig/ui/lineendstabpage.ui://GtkLabel[@id='FT_LINE_END_STYLE'] 
orphan-label
 cui/uiconfig/ui/lineendstabpage.ui://GtkComboBox[@id='LB_LINEENDS'] 
no-labelled-by
-cui/uiconfig/ui/linestyletabpage.ui://GtkSpinButton[@id='NUM_FLD_2'] 
no-labelled-by
-cui/uiconfig/ui/linestyletabpage.ui://GtkSpinButton[@id='MTR_FLD_LENGTH_2'] 
no-labelled-by
+cui/uiconfig/ui/linestyletabpage.ui://GtkComboBoxText[@id='LB_TYPE_2'] 
missing-label-for
+cui/uiconfig/ui/linestyletabpage.ui://GtkSpinButton[@id='NUM_FLD_2'] 
missing-label-for
+cui/uiconfig/ui/linestyletabpage.ui://GtkSpinButton[@id='MTR_FLD_LENGTH_2'] 
missing-label-for
 cui/uiconfig/ui/macroselectordialog.ui://GtkLabel[@id='helpmacro'] orphan-label
 cui/uiconfig/ui/menuassignpage.ui://GtkLabel[@id='searchlabel'] orphan-label
 cui/uiconfig/ui/menuassignpage.ui://GtkLabel[@id='leftfunctionlabel'] 
orphan-label

Reply via email to