svx/uiconfig/ui/fontworkgallerydialog.ui           |    1 
 xmlsecurity/uiconfig/ui/certdetails.ui             |    1 
 xmlsecurity/uiconfig/ui/certgeneral.ui             |   65 +++++++++++++++++++++
 xmlsecurity/uiconfig/ui/certpage.ui                |   12 +++
 xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui |   57 ++++++++++++++++++
 xmlsecurity/uiconfig/ui/selectcertificatedialog.ui |   17 +++++
 6 files changed, 151 insertions(+), 2 deletions(-)

New commits:
commit 77910b9630781624bf81b9bb82ae728f54137beb
Author:     Parth Raiyani <[email protected]>
AuthorDate: Thu Feb 5 12:49:46 2026 +0530
Commit:     Caolán McNamara <[email protected]>
CommitDate: Thu Feb 5 23:03:31 2026 +0100

    a11y: fix accessibility issue in signature dialog and font work gallery 
dialog
    
    - rename conflicting label ids
    - add mnemonic-widget in GtkLabel to correctly reference relevant object
    - add static role in GtkLabel for better accessibility
    - add missing accessible names
    
    Change-Id: I0c802a57e92264ef3cd7cafe0b865b22ec7651c8
    Signed-off-by: Parth Raiyani <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198745
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/svx/uiconfig/ui/fontworkgallerydialog.ui 
b/svx/uiconfig/ui/fontworkgallerydialog.ui
index a638b7b8a3c1..661fe8611388 100644
--- a/svx/uiconfig/ui/fontworkgallerydialog.ui
+++ b/svx/uiconfig/ui/fontworkgallerydialog.ui
@@ -96,6 +96,7 @@
                 <property name="label" translatable="yes" 
context="fontworkgallerydialog|label1">Select a Fontwork style:</property>
                 <property name="use-underline">True</property>
                 <property name="xalign">0</property>
+                <property name="mnemonic-widget">ctlFavoriteswin</property>
               </object>
               <packing>
                 <property name="left-attach">0</property>
diff --git a/xmlsecurity/uiconfig/ui/certdetails.ui 
b/xmlsecurity/uiconfig/ui/certdetails.ui
index 54a29e626ce1..50514602ccc9 100644
--- a/xmlsecurity/uiconfig/ui/certdetails.ui
+++ b/xmlsecurity/uiconfig/ui/certdetails.ui
@@ -98,6 +98,7 @@
             <property name="vexpand">True</property>
             <child internal-child="accessible">
               <object class="AtkObject" id="valuedetails-atkobject">
+                <property name="AtkObject::accessible-name" translatable="yes" 
context="certdetails|valuedetails-atkobject">Value Details</property>
                 <property name="AtkObject::accessible-description" 
translatable="yes" context="extended_tip|valuedetails">Use the value list box 
to view values and copy them to the clipboard.</property>
               </object>
             </child>
diff --git a/xmlsecurity/uiconfig/ui/certgeneral.ui 
b/xmlsecurity/uiconfig/ui/certgeneral.ui
index f21aee80a6a6..c6355ba5ecbb 100644
--- a/xmlsecurity/uiconfig/ui/certgeneral.ui
+++ b/xmlsecurity/uiconfig/ui/certgeneral.ui
@@ -31,6 +31,11 @@
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="certgeneral|label1">Certificate Information</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="label1-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
             <attributes>
               <attribute name="weight" value="bold"/>
             </attributes>
@@ -74,6 +79,11 @@
         <property name="margin-bottom">108</property>
         <property name="label" translatable="yes" 
context="certgeneral|hintnotrust">This certificate is validated.</property>
         <property name="xalign">0</property>
+        <child internal-child="accessible">
+          <object class="AtkObject" id="hintnotrust-atkobject">
+              <property name="AtkObject::accessible-role">static</property>
+          </object>
+        </child>
         <attributes>
           <attribute name="weight" value="bold"/>
         </attributes>
@@ -108,6 +118,11 @@
             <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="certgeneral|issued_to">Issued to: </property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="issued_to-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
             <attributes>
               <attribute name="weight" value="bold"/>
             </attributes>
@@ -123,6 +138,11 @@
             <property name="can-focus">False</property>
             <property name="hexpand">True</property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="issued_to_value-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
           </object>
           <packing>
             <property name="left-attach">1</property>
@@ -135,6 +155,11 @@
             <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="certgeneral|issued_by">Issued by: </property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="issued_by-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
             <attributes>
               <attribute name="weight" value="bold"/>
             </attributes>
@@ -149,6 +174,11 @@
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="issued_by_value-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
           </object>
           <packing>
             <property name="left-attach">1</property>
@@ -161,6 +191,11 @@
             <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="certgeneral|valid_from">Valid from:</property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="valid_from-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
             <attributes>
               <attribute name="weight" value="bold"/>
             </attributes>
@@ -192,6 +227,11 @@
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="certgeneral|privatekey">You have a private key that corresponds to 
this certificate.</property>
+                <child internal-child="accessible">
+                  <object class="AtkObject" id="privatekey-atkobject">
+                      <property 
name="AtkObject::accessible-role">static</property>
+                  </object>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -212,6 +252,11 @@
             <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="certgeneral|valid_to">Valid to:</property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="valid_to-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
             <attributes>
               <attribute name="weight" value="bold"/>
             </attributes>
@@ -226,6 +271,11 @@
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="valid_from_value-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
           </object>
           <packing>
             <property name="left-attach">1</property>
@@ -237,6 +287,11 @@
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="valid_to_value-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
           </object>
           <packing>
             <property name="left-attach">1</property>
@@ -249,6 +304,11 @@
             <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="certgeneral|type">Key type: </property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="key_type-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
             <attributes>
               <attribute name="weight" value="bold"/>
             </attributes>
@@ -264,6 +324,11 @@
             <property name="can-focus">False</property>
             <property name="hexpand">True</property>
             <property name="xalign">0</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="key_type_value-atkobject">
+                  <property name="AtkObject::accessible-role">static</property>
+              </object>
+            </child>
           </object>
           <packing>
             <property name="left-attach">1</property>
diff --git a/xmlsecurity/uiconfig/ui/certpage.ui 
b/xmlsecurity/uiconfig/ui/certpage.ui
index 167d0c93a69e..005e3b3ecd77 100644
--- a/xmlsecurity/uiconfig/ui/certpage.ui
+++ b/xmlsecurity/uiconfig/ui/certpage.ui
@@ -116,7 +116,7 @@
         <property name="vexpand">True</property>
         <property name="row-spacing">6</property>
         <child>
-          <object class="GtkLabel" id="label2">
+          <object class="GtkLabel" id="certlabel2">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="certpage|label2">Certificate status</property>
@@ -168,6 +168,11 @@
         <property name="can-focus">False</property>
         <property name="no-show-all">True</property>
         <property name="label" translatable="yes" 
context="certpage|certok">The certificate is OK.</property>
+        <child internal-child="accessible">
+          <object class="AtkObject" id="certok-atkobject">
+              <property name="AtkObject::accessible-role">static</property>
+          </object>
+        </child>
       </object>
       <packing>
         <property name="expand">False</property>
@@ -180,6 +185,11 @@
         <property name="can-focus">False</property>
         <property name="no-show-all">True</property>
         <property name="label" translatable="yes" 
context="certpage|certnotok">The certificate could not be validated.</property>
+        <child internal-child="accessible">
+          <object class="AtkObject" id="certnotok-atkobject">
+              <property name="AtkObject::accessible-role">static</property>
+          </object>
+        </child>
       </object>
       <packing>
         <property name="expand">False</property>
diff --git a/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui 
b/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui
index 483605961f2c..83c8b8d3bd04 100644
--- a/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui
+++ b/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui
@@ -88,6 +88,11 @@
                 <property name="no-show-all">True</property>
                 <property name="label" translatable="yes" 
context="digitalsignaturesdialog|dochint">The following have signed the 
document content: </property>
                 <property name="xalign">0</property>
+                <child internal-child="accessible">
+                  <object class="AtkObject" id="dochint-atkobject">
+                      <property 
name="AtkObject::accessible-role">static</property>
+                  </object>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -296,10 +301,15 @@
                 <property name="hexpand">True</property>
                 <property name="column-spacing">12</property>
                 <child>
-                  <object class="GtkLabel" id="signed">
+                  <object class="GtkLabel" id="digsignsigned">
                     <property name="can-focus">False</property>
                     <property name="no-show-all">True</property>
                     <property name="hexpand">True</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="digsignsigned-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">0</property>
@@ -311,6 +321,11 @@
                     <property name="can-focus">False</property>
                     <property name="no-show-all">True</property>
                     <property name="hexpand">True</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="issued-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">1</property>
@@ -322,6 +337,11 @@
                     <property name="can-focus">False</property>
                     <property name="no-show-all">True</property>
                     <property name="hexpand">True</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="date-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">2</property>
@@ -332,6 +352,11 @@
                   <object class="GtkLabel" id="description">
                     <property name="can-focus">False</property>
                     <property name="no-show-all">True</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="description-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">3</property>
@@ -342,6 +367,11 @@
                   <object class="GtkLabel" id="type">
                     <property name="can-focus">False</property>
                     <property name="no-show-all">True</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="type-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">4</property>
@@ -361,6 +391,11 @@
                 <property name="no-show-all">True</property>
                 <property name="label" translatable="yes" 
context="digitalsignaturesdialog|macrohint">The following have signed the 
document macro:</property>
                 <property name="xalign">0</property>
+                <child internal-child="accessible">
+                  <object class="AtkObject" id="macrohint-atkobject">
+                      <property 
name="AtkObject::accessible-role">static</property>
+                  </object>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -384,6 +419,11 @@
                     <property name="hexpand">True</property>
                     <property name="label" translatable="yes" 
context="digitalsignaturesdialog|validft">The signatures in this document are 
valid</property>
                     <property name="xalign">0</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="validft-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">1</property>
@@ -408,6 +448,11 @@
                     <property name="hexpand">True</property>
                     <property name="label" translatable="yes" 
context="digitalsignaturesdialog|invalidft">The signatures in this document are 
invalid</property>
                     <property name="xalign">0</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="invalidft-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">1</property>
@@ -421,6 +466,11 @@
                     <property name="hexpand">True</property>
                     <property name="label" translatable="yes" 
context="digitalsignaturesdialog|oldsignatureft">At least one signature has 
problems: the document is only partially signed.</property>
                     <property name="xalign">0</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="oldsignatureft-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">1</property>
@@ -434,6 +484,11 @@
                     <property name="hexpand">True</property>
                     <property name="label" translatable="yes" 
context="digitalsignaturesdialog|notvalidatedft">At least one signature has 
problems: the certificate could not be validated.</property>
                     <property name="xalign">0</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="notvalidatedft-atkobject">
+                          <property 
name="AtkObject::accessible-role">static</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
                     <property name="left-attach">1</property>
diff --git a/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui 
b/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui
index 957eccc285cb..6aa58ea80d58 100644
--- a/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui
+++ b/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui
@@ -102,6 +102,11 @@
                 <property name="width-chars">56</property>
                 <property name="max-width-chars">56</property>
                 <property name="xalign">0</property>
+                <child internal-child="accessible">
+                  <object class="AtkObject" id="sign-atkobject">
+                      <property 
name="AtkObject::accessible-role">static</property>
+                  </object>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -117,6 +122,11 @@
                 <property name="width-chars">56</property>
                 <property name="max-width-chars">56</property>
                 <property name="xalign">0</property>
+                <child internal-child="accessible">
+                  <object class="AtkObject" id="encrypt-atkobject">
+                      <property 
name="AtkObject::accessible-role">static</property>
+                  </object>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -131,6 +141,11 @@
                 <property name="width-chars">56</property>
                 <property name="max-width-chars">56</property>
                 <property name="xalign">0</property>
+                <child internal-child="accessible">
+                  <object class="AtkObject" id="loaded-certs-atkobject">
+                      <property 
name="AtkObject::accessible-role">static</property>
+                  </object>
+                </child>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -256,6 +271,7 @@
                 <property name="primary-icon-stock">gtk-find</property>
                 <child internal-child="accessible">
                   <object class="AtkObject" id="searchbox-atkobject">
+                    <property name="AtkObject::accessible-name" 
translatable="yes" 
context="selectcertificatedialog|searchbox-atkobject">Search</property>
                     <property name="AtkObject::accessible-description" 
translatable="yes" 
context="selectcertificatedialog|extended_tip|searchbox">Search for certificate 
by issuer name or email.</property>
                   </object>
                 </child>
@@ -276,6 +292,7 @@
                     <property name="visible">True</property>
                     <property name="can-focus">False</property>
                     <property name="label" translatable="yes" 
context="selectcertificatedialog|label2">Description:</property>
+                    <property name="mnemonic_widget">description</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>

Reply via email to