diff options
author | Samuel Thibault <sthibault@hypra.fr> | 2019-05-02 17:24:30 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2019-05-09 13:39:33 +0200 |
commit | b4009daccd11e416865efd5fd3c205c46691bb12 (patch) | |
tree | ae169db727876878617f003999ca9bbf2b7b753a /offapi | |
parent | 639aba04ce74c3055b3b1c7ea4cd46a06da1f8ed (diff) |
tdf#124400 a11y: add accessible ID
Such ID is not meant to be presented to the user, but to be an ID
which is stable over application development. Typically, this is
the gtkbuilder ID. Such an ID can then be used to identify a given
well-known accessible object independently from the current locale,
user-visible labelling, or dialog structure. This can then be used
for tailored screen reading (e.g. automatically announcing the
content of a well-known object), or for automatic regression testing
(to check the behavior of well-known objects). Uniqueness within
the window is thus desirable when returning a non-empty string.
This adds XAccessibleXContext2 to augment XAccessibleXContext with
getAccessibleId(). The VCL implementation just takes Window::get_id(),
i.e. the gtkbuilder id, which is enough for most use cases for now.
atk_object_wrapper_new then passes it to
atk_object_set_accessible_id() for AT-SPI technologies to pick it up.
Change-Id: Iea0ad08d036e539dbcfec1a9be026c8da8d17357
Reviewed-on: https://gerrit.libreoffice.org/71743
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
Diffstat (limited to 'offapi')
-rw-r--r-- | offapi/UnoApi_offapi.mk | 1 | ||||
-rw-r--r-- | offapi/com/sun/star/accessibility/XAccessibleContext2.idl | 56 |
2 files changed, 57 insertions, 0 deletions
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index a1ffab05d2e8..4c79c9d04328 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -1634,6 +1634,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/accessibility,\ XAccessibleAction \ XAccessibleComponent \ XAccessibleContext \ + XAccessibleContext2 \ XAccessibleEditableText \ XAccessibleEventBroadcaster \ XAccessibleEventListener \ diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext2.idl b/offapi/com/sun/star/accessibility/XAccessibleContext2.idl new file mode 100644 index 000000000000..e9d4feae1021 --- /dev/null +++ b/offapi/com/sun/star/accessibility/XAccessibleContext2.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_accessibility_XAccessibleContext2_idl__ +#define __com_sun_star_accessibility_XAccessibleContext2_idl__ + +module com { module sun { module star { module accessibility { + +/** Implement this interface for exposing more aspects of a class's + content. + + <p>This is an extension of XAccessibleContext to add getAccessibleId().</p> + + @since LibreOffice 6.3 +*/ +interface XAccessibleContext2 : ::com::sun::star::accessibility::XAccessibleContext +{ + /** Return the object's identifier. + + <p>This is not meant to be presented to the user, but to be an ID + which is stable over application development. Typically, this is + the gtkbuilder ID. Such an ID can then be used to identify a given + well-known accessible object independently from the current locale, + user-visible labelling, or dialog structure. This can then be used for + tailored screen reading (e.g. automatically announcing the content of a + well-known object), or for automatic regression testing (to check the + behavior of well-known objects). Uniqueness within the window is thus + desirable when returning a non-empty string.</p> + + @return + The returned string is the object's identifier. + */ + string getAccessibleId (); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |