editeng/source/accessibility/AccessibleEditableTextPara.cxx | 20 - include/editeng/AccessibleEditableTextPara.hxx | 7 offapi/UnoApi_offapi.mk | 2 offapi/com/sun/star/drawing/AccessibleShape.idl | 3 offapi/com/sun/star/text/AccessibleParagraphView.idl | 164 ------------ offapi/com/sun/star/text/AccessibleTextGraphicObject.idl | 90 ------ sw/source/core/access/accgraphic.cxx | 2 sw/source/core/access/accheaderfooter.cxx | 3 sw/source/core/access/accpara.cxx | 3 9 files changed, 5 insertions(+), 289 deletions(-)
New commits: commit a7233f6e5f42b466f818db31e0a54e38011e3163 Author: Michael Weghorn <[email protected]> AuthorDate: Tue Jun 24 10:26:39 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Wed Jun 25 07:39:45 2025 +0200 sw a11y: Don't declare suport for non-existing services There are no "com.sun.star.text.AccessibleFooterView" and "com.sun.star.text.AccessibleHeaderView" services defined anywhere, so don't declare support for them in SwAccessibleHeaderFooter::getSupportedServiceNames. Change-Id: Id7652f75ef7ce824d52c99ed595da37b89a0c152 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186878 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/sw/source/core/access/accheaderfooter.cxx b/sw/source/core/access/accheaderfooter.cxx index 52bd73a59474..9d185ec4cd6a 100644 --- a/sw/source/core/access/accheaderfooter.cxx +++ b/sw/source/core/access/accheaderfooter.cxx @@ -80,8 +80,7 @@ OUString SAL_CALL SwAccessibleHeaderFooter::getImplementationName() Sequence< OUString > SAL_CALL SwAccessibleHeaderFooter::getSupportedServiceNames() { - return { (AccessibleRole::HEADER == GetRole())?u"com.sun.star.text.AccessibleHeaderView"_ustr:u"com.sun.star.text.AccessibleFooterView"_ustr, - sAccessibleServiceName }; + return { sAccessibleServiceName }; } sal_Int32 SAL_CALL SwAccessibleHeaderFooter::getBackground() commit 8dbd25d58bd259748b4d3c9c572c694e155c8c8b Author: Michael Weghorn <[email protected]> AuthorDate: Tue Jun 24 10:23:06 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Wed Jun 25 07:39:39 2025 +0200 [API CHANGE]: a11y: Drop com.sun.star.text.AccessibleTextGraphicObject Drop the unpublished service "com.sun.star.text.AccessibleTextGraphicObject" because it's unused. (The IDL file only documents some internal implementation details of the a11y class implementing the service.) This is one step towards dropping the XServiceInfo implementation from a11y classes, which will also help avoid linker issues seen on Windows related to multiple classes subclassing cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo> seen with upcoming commit Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9 Author: Michael Weghorn <[email protected]> Date: Mon May 26 12:24:52 2025 +0200 vcl a11y: Let OAccessibleComponentHelper implement XAccessible (Gerrit change [1], Windows CI log: [2]). A search in Google and on Ask [3] didn't give any results that would suggest this unpublished service could be relevant for third party code. (Instances of the service couldn't be created by external code anyway.) [1] https://gerrit.libreoffice.org/c/core/+/185849/6 [2] https://ci.libreoffice.org/job/gerrit_windows/200107/console [3] https://ask.libreoffice.org/ Change-Id: I8446acfda2bb7a51c464c2bedf7bab2628cdbadc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186877 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index bb7aa1f752a2..b381d2be328f 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -1301,7 +1301,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,com/sun/star/task,\ Job \ )) $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,com/sun/star/text,\ - AccessibleTextGraphicObject \ AutoTextEntry \ AutoTextGroup \ BaseFrame \ diff --git a/offapi/com/sun/star/text/AccessibleTextGraphicObject.idl b/offapi/com/sun/star/text/AccessibleTextGraphicObject.idl deleted file mode 100644 index e259d8331d1a..000000000000 --- a/offapi/com/sun/star/text/AccessibleTextGraphicObject.idl +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- 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 . - */ - - - -module com { module sun { module star { module text { - - -/** The accessible view of graphics. - - @since OOo 1.1.2 - */ -service AccessibleTextGraphicObject -{ - /** This interface comprises the basic accessibility of text graphics. - - <ul> - <li>The parent returned by - ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent() - is the accessible view of a paragraph if the graphic is bound as - character, and the accessible view of the document (or of a - page in the page preview) in any other case. - <li>There are no children returned by - ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild(). - <li>The role is - ::com::sun::star::accessibility::AccessibleRole::GRAPHIC - <li>The name is the one assigned to the graphic in the text - document. This means that it is not internationalized. - <li>The description is the one assigned to the graphic in the text - document. This means that it is not internationalized. If no - description has been set, the description equals the name. - <li>There are no relations. - <li>The following states might be contained in the state set - returned by - ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet(): - <ul> - <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC - (indicates that - the document window has been closed or the graphic - is not existing any longer) - <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE - <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED - (always contained) - <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE - <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE - <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED - <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSABLE - <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSED - <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING - <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE - </ul> - <li>The locale is the one the text document itself. - </ul> - - */ - interface ::com::sun::star::accessibility::XAccessibleContext; - - /** This interface describes the graphical representation of a - graphic. - */ - interface ::com::sun::star::accessibility::XAccessibleComponent; - - /** This interface gives access to the image size and its description. - */ - interface ::com::sun::star::accessibility::XAccessibleImage; - - /** This is the interface for listeners */ - interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; -}; - - -}; }; }; }; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/access/accgraphic.cxx b/sw/source/core/access/accgraphic.cxx index 393ad572c906..101f11221297 100644 --- a/sw/source/core/access/accgraphic.cxx +++ b/sw/source/core/access/accgraphic.cxx @@ -46,7 +46,7 @@ OUString SAL_CALL SwAccessibleGraphic::getImplementationName() Sequence< OUString > SAL_CALL SwAccessibleGraphic::getSupportedServiceNames() { - return { u"com.sun.star.text.AccessibleTextGraphicObject"_ustr, sAccessibleServiceName }; + return { sAccessibleServiceName }; } // Return this object's role. commit 55f2e804a119046ef14d640523dd490c80efed6a Author: Michael Weghorn <[email protected]> AuthorDate: Tue Jun 24 10:14:11 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Wed Jun 25 07:39:32 2025 +0200 [API CHANGE]: a11y: Drop com.sun.star.text.AccessibleParagraphView Drop the unpublished service "com.sun.star.text.AccessibleParagraphView" because it's unused. (The IDL file only documents some internal implementation details of the a11y classes implementing the service. It also isn't fully up to date, e.g. the description of the accessible name.) For AccessibleEditableTextPara, also no longer implement the XServiceInfo interface, as the now dropped service was the only one that was supported. This is one step towards dropping the XServiceInfo implementation from a11y classes, which will also help avoid linker issues seen on Windows related to multiple classes subclassing cppu::ImplInheritanceHelper<class comphelper::OAccessibleComponentHelper,class com::sun::star::lang::XServiceInfo> seen with upcoming commit Change-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9 Author: Michael Weghorn <[email protected]> Date: Mon May 26 12:24:52 2025 +0200 vcl a11y: Let OAccessibleComponentHelper implement XAccessible (Gerrit change [1], Windows CI log: [2]). A search in Google and on Ask [3] didn't give any results that would suggest this unpublished service could be relevant for third party code. (Instances of the service couldn't be created by external code anyway.) [1] https://gerrit.libreoffice.org/c/core/+/185849/6 [2] https://ci.libreoffice.org/job/gerrit_windows/200107/console [3] https://ask.libreoffice.org/ Change-Id: Iee961e76ff7af1dab46d26cd844763970adc98c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186876 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/editeng/source/accessibility/AccessibleEditableTextPara.cxx b/editeng/source/accessibility/AccessibleEditableTextPara.cxx index fb9c766e06b9..71d927e06782 100644 --- a/editeng/source/accessibility/AccessibleEditableTextPara.cxx +++ b/editeng/source/accessibility/AccessibleEditableTextPara.cxx @@ -2426,26 +2426,6 @@ sal_Int32 SAL_CALL AccessibleEditableTextPara::getNumberOfLineWithCaret( ) return nRes; } - -// XServiceInfo -OUString SAL_CALL AccessibleEditableTextPara::getImplementationName() -{ - - return u"AccessibleEditableTextPara"_ustr; -} - -sal_Bool SAL_CALL AccessibleEditableTextPara::supportsService (const OUString& sServiceName) -{ - - return cppu::supportsService(this, sServiceName); -} - -uno::Sequence< OUString> SAL_CALL AccessibleEditableTextPara::getSupportedServiceNames() -{ - // #105185# Using correct service now - return { u"com.sun.star.text.AccessibleParagraphView"_ustr }; -} - } // end of namespace accessibility diff --git a/include/editeng/AccessibleEditableTextPara.hxx b/include/editeng/AccessibleEditableTextPara.hxx index 887acf43eb77..3fa129df8385 100644 --- a/include/editeng/AccessibleEditableTextPara.hxx +++ b/include/editeng/AccessibleEditableTextPara.hxx @@ -58,7 +58,7 @@ class UNLESS_MERGELIBS(EDITENG_DLLPUBLIC) AccessibleEditableTextPara final comphelper::OAccessibleComponentHelper, css::accessibility::XAccessible, css::accessibility::XAccessibleEditableText, css::accessibility::XAccessibleTextAttributes, css::accessibility::XAccessibleHypertext, - css::accessibility::XAccessibleMultiLineText, css::lang::XServiceInfo>, + css::accessibility::XAccessibleMultiLineText>, private ::comphelper::OCommonAccessibleText { @@ -149,11 +149,6 @@ public: virtual css::accessibility::TextSegment SAL_CALL getTextAtLineWithCaret( ) override; virtual ::sal_Int32 SAL_CALL getNumberOfLineWithCaret( ) override; - // XServiceInfo - virtual OUString SAL_CALL getImplementationName() override; - virtual sal_Bool SAL_CALL supportsService (const OUString& sServiceName) override; - virtual css::uno::Sequence< OUString> SAL_CALL getSupportedServiceNames() override; - /** Set the current index in the accessibility parent @attention This method does not lock the SolarMutex, diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index 844f9c69e058..bb7aa1f752a2 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -1301,7 +1301,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,com/sun/star/task,\ Job \ )) $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,com/sun/star/text,\ - AccessibleParagraphView \ AccessibleTextGraphicObject \ AutoTextEntry \ AutoTextGroup \ diff --git a/offapi/com/sun/star/drawing/AccessibleShape.idl b/offapi/com/sun/star/drawing/AccessibleShape.idl index f1d6d5c9ed16..5b3b61aec2de 100644 --- a/offapi/com/sun/star/drawing/AccessibleShape.idl +++ b/offapi/com/sun/star/drawing/AccessibleShape.idl @@ -72,8 +72,7 @@ service AccessibleShape shapes or accessible text paragraphs. Only group shapes, 3D scene shapes, and OLE shapes may contain other shapes as children. Some of the shapes may have text paragraphs as (additional) - children. See ::com::sun::star::text::AccessibleParagraphView for - details of how this text is represented.</li> + children.</li> <li>Parent: The parent is either the document view as represented by AccessibleDrawDocumentView or a group shape, 3D scene shape, or OLE shape.</li> diff --git a/offapi/com/sun/star/text/AccessibleParagraphView.idl b/offapi/com/sun/star/text/AccessibleParagraphView.idl deleted file mode 100644 index 108faedd0fd2..000000000000 --- a/offapi/com/sun/star/text/AccessibleParagraphView.idl +++ /dev/null @@ -1,164 +0,0 @@ -/* -*- 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 . - */ - - -module com { module sun { module star { module text { - - -/** The accessible view of a paragraph fragment. - - - @since OOo 1.1.2 - */ -service AccessibleParagraphView -{ - /** This interface gives access to a paragraph fragment that is at least - partially visible on the screen. A paragraph fragment is the portion - of a paragraph that is displayed on a single page or a in a single - column. - - <ul> - <li>The parent returned by - ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent() - is the accessible view of a text document (in this case the - paragraph is contained in a page body) or the accessible - view of a header, footer, footnote, endnote, table cell, - text frame, page or shape.</li> - <li>The children returned by - ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() - are the graphics, text boxes and OLE objects that are bound - <em>as</em> character within the paragraph. Graphics, text - boxes and OLE objects that are bound to the paragraph or - <em>to</em> a character within the paragraph are not - children of the paragraph fragment but of the document view - itself.</li> - <li>The role is either - ::com::sun::star::accessibility::AccessibleRole::PARAGRAPH, - ::com::sun::star::accessibility::AccessibleRole::BLOCK_QUOTE or - ::com::sun::star::accessibility::AccessibleRole::HEADING. - The latter is returned - if the paragraph's style is contained in the chapter - numbering of a text document. - <li>The name is "paragraph" or "heading" (or the equivalent term - in application's language) with a number appended. - <li>The description contains the term "paragraph" (or the equivalent - term in application's language) and the first sentence of - the paragraph. - <li>There are no relations. - <li>The following states are supported by the - accessible state bitset returned by - ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet(). - <ul> - <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC - (indicates that - the document window has been closed or the paragraph - fragment is not existing any longer). - <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE - <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED - (always contained) - <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE - (always contained) - <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE - (always contained) - <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE - <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING - <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE - <li>::com::sun::star::accessibility::AccessibleStateType::FOCUSED - </ul> - <li>Depending of the application's region setting, the locale is - the western, Asian or complex language of the paragraph. - </ul> - - */ - interface ::com::sun::star::accessibility::XAccessibleContext; - - /** This interface describes the graphical representation of a paragraph - fragment. - */ - interface ::com::sun::star::accessibility::XAccessibleComponent; - - /** This interface gives access to a paragraph fragment's text. The text - contains the paragraph's editable text as well as generated text, - like chapter numbers, hyphens or fields. Characters of generated - text contribute to the text's character indexing. However, it is not - possible to set the caret or start a selection within generated text. - <p>For text frames, graphics, etc. that are bound as character some - text is generated that contains the objects description. - <p>The attributes (or properties) returned by - ::com::sun::star::accessibility::XAccessibleText::getCharacterAttributes() - are a sub set of the properties described by the service - ::com::sun::star::style::CharacterProperties. For - properties that have Asian and complex counterparts, the value that - is visible is returned. This can be in fact the western, Asian or - complex value. It's not possible to change the value of any property - by using - ::com::sun::star::accessibility::XAccessibleEditableText::setAttributes(). - <p><em>TODO: If there is a demand, some attributes might be added that - tells whether the character at a certain index is editable or generated. - </em> - - */ - [optional] interface ::com::sun::star::accessibility::XAccessibleEditableText; - - /** This interface is a subset of - ::com::sun::star::accessibility::XAccessibleEditableText - and gives access to a paragraph - fragment's text in a read-only mode. The text contains the - paragraph's text (changeable as well as generated text, like chapter - numbers, hyphens or fields). Characters of generated text contribute - to the text's character indexing. - <p>For text frames, graphics, etc. that are bound as character - some text is generated that contains the objects description. - <p>The attributes (or properties) returned by - ::com::sun::star::accessibility::XAccessibleText::getCharacterAttributes() - are a sub set of the properties described by the service - ::com::sun::star::style::CharacterProperties. For - properties that have Asian and complex counterparts, the value that - is visible is returned. This can be in fact the western, Asian or - complex value. - <p><em>TODO: If there is a demand, some attributes might be added - that tells whether the character at a certain index is changeable or - generated. - </em> - */ - interface ::com::sun::star::accessibility::XAccessibleText; - - /** This interface is for selecting the paragraph's children. Multi - selection is supported only for children that are multi selectable - in the GUI, too. - */ - [optional] interface ::com::sun::star::accessibility::XAccessibleSelection; - - /** This is the interface for listeners. - */ - interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; - - /** This interface gives access to the default attributes of a paragraph - and to the run attributes of a certain character in a paragraph - - @since OOo 2.0.4 - */ - [optional] interface ::com::sun::star::accessibility::XAccessibleTextAttributes; - -}; - - -}; }; }; }; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx index f4e40ae870ad..fa62e4f46e60 100644 --- a/sw/source/core/access/accpara.cxx +++ b/sw/source/core/access/accpara.cxx @@ -106,7 +106,6 @@ namespace com::sun::star::text { class XText; } -constexpr OUString sServiceName = u"com.sun.star.text.AccessibleParagraphView"_ustr; constexpr OUStringLiteral sImplementationName = u"com.sun.star.comp.Writer.SwAccessibleParagraphView"; const SwTextFrame* SwAccessibleParagraph::GetTextFrame() const @@ -794,7 +793,7 @@ OUString SAL_CALL SwAccessibleParagraph::getImplementationName() uno::Sequence< OUString > SAL_CALL SwAccessibleParagraph::getSupportedServiceNames() { - return { sServiceName, sAccessibleServiceName }; + return { sAccessibleServiceName }; } static uno::Sequence< OUString > const & getAttributeNames()
