<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_UNCONFIRMED "
   title="UNCONFIRMED - Add stable widget IDs to ATK interface"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=124400">124400</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Add stable widget IDs to ATK interface
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>LibreOffice
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>UNCONFIRMED
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>UI
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>libreoffice-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>samuel.thibault@ens-lyon.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Hello,

Just like mentioned in <a href="https://gitlab.gnome.org/GNOME/atk/issues/4">https://gitlab.gnome.org/GNOME/atk/issues/4</a> and
<a href="https://gitlab.gnome.org/GNOME/gtk/issues/1287">https://gitlab.gnome.org/GNOME/gtk/issues/1287</a> , libreoffice currently does not
provide any stable id that could be used for identifying widgets in a stable
manner. We would need this for proper regression testing, so we can check that
for instance a well-known shortcut properly switches focus to a well-known
widget, independently from the locale, from modifications of the label of the
widget, and from modifications in the tree that leads to this widget. Screen
reader scripts could also use it to be able to reach a widget which is known to
provide some information. 

The way firefox exposes it is through an "id" attribute for the object, and
that is also being implemented for gtk. We will need some implementation on the
libreoffice side as well.

The "id" as found in the .ui files would be exactly what we need. AFAICT from
the source code, it ends up in the maID field of vcl::Window, which can be
obtained with the get_id() method. It seems it could be exposed in
XAccessibleContext through a getId() method, that
accessibility/source/extended/accessible* would implement.
vcl/unx/gtk/a11y/atkwrapper.cxx's wrapper_get_attributes function would then be
able to call it and append it to the attribute list before returning it to atk.

Does this sound like a plan?

Samuel</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>