Age | Commit message (Collapse) | Author |
|
Implement `accessibilityIdentifier` [1] for
macOS/NSAccessibility by retrieving the accessible ID
via `XAccessibleContext2::getAccessibleId` if that
interface is implemented.
This is the macOS equivalent of
commit c64b823b74cbd3063d6e87643bd68ea5343b2f54
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Jul 16 13:57:41 2024 +0200
tdf#155447 qt a11y: Report accessible ID
[1] https://developer.apple.com/documentation/appkit/nsaccessibilityprotocol/1527792-accessibilityidentifier
Change-Id: I43c40f5309467ddb00911297fadb6716500c2dcb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170624
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Also, reimplement -[AquaA11yWrapper tabsAttribute] to return children
for tab bars. This will cause VoiceOver to announce that the currently
selected tab is "X of Y" tabs in the tab bar.
Change-Id: I2c3b890fd445c22842b90d60170a71e4e8aa91ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170389
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: If826476ad6c6692d22519f4eb0fb45621240fdbf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168271
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ifbb27bf3486a88621f5ca125845e603f9e3925a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168245
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: I743695dde8928e1a742006518e7d6374087d5cae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168244
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Found the following memory leaks using Xcode's Instruments application:
1. Posting an NSAccessibilityUIElementDestroyedNotification
notification causes [ AquaA11yWrapper isAccessibilityElement ]
to be called on the object so mark the object as disposed
before posting the destroyed notification and test for disposed
in all of the standard NSAccessibility selectors to prevent
any calls to likely disposed C++ accessibility objects.
2. In [ AquaA11yWrapper accessibilityHitTest: ],
[ AquaA11yFactory wrapperForAccessibleContext: ] already retains
the returned object so retaining it until the next call to this
selector can lead to a memory leak when dragging selected cells
in Calc to a new location. So autorelease the object so that
transient objects stay alive but not past the next clearing of
the autorelease pool.
3. [ AquaA11ySelectionWrapper selectedChildrenAttributeForElement: ] is
expected to return an autoreleased object.
4. [ AquaA11yFactory wrapperForAccessible: ] is not a getter. It
expects the caller to release the returned object.
5. CreateNSString() is not a getter. It expects the caller to
release the returned string.
Change-Id: I824740d7e3851b0c3e31e2c009860aa822c94222
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168034
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
Use a Sequence of XAccessible rather than its base
interface XInterface for AccessibleRelation's TargetSet.
As the targets are accessible objects as well,
anything other than XAccessible doesn't make much sense.
Using XAccessible right away makes that clearer and avoids
the need to query the XAccessible interface.
(The winaccessibility bridge was already using
`static_cast`, relying on the fact that the objects
are XAccessibles.)
The a11y UNO API is not published, so an API change
should be unproblematic.
Change-Id: I7f08e98d1ec303d5343d9a7954187cdd71495ebc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166586
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
When the a11y object is not expandable, also don't
report a true/false value for the expanded state on
macOS.
Otherwise, the CrossOver screen reader on macOS
will explicitly announce "collapsed" for these
objects, e.g. when moving focus between paragraphs
in Writer (as reported on the a11y mailing list [1])
or between toolbar butons, since
`isAccessibilityExpanded` gets called and
returns false, so it is assumed that this
is an expandable item that is currently
not expanded, i.e. it is collapsed.
Quoting from the NSAccessibilityProtocol doc [2]:
> You can control which accessor methods the assistive app can
> use by overriding isAccessibilitySelectorAllowed(_:).
> Return true if the assistive app can call the selector;
> otherwise, return false."
[1] https://listarchives.libreoffice.org/global/accessibility/msg01068.html
[2] https://developer.apple.com/documentation/appkit/nsaccessibilityprotocol:
Change-Id: Iac9027a598e5793d6bd0da79212d7b07448a4c34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158733
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I32e3e9bff261f95010582c6e5e2d22abb725f402
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153311
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
can throw an IndexOutOfBoundsException exception even when fetching with
an index that is positive and less than the value returned by a call to
the accessible context's getAccessibleChildCount() method so put every
getAccessibleChild() call in a try/catch block.
Note: this is actually expected behavior even though it is rare. For
example, accessibility::AccessibleTextHelper_Impl::getAccessibleChild()
uses the following code snippet to throw such an exception:
if( 0 > i || i >= getAccessibleChildCount() ||
GetTextForwarder().GetParagraphCount() <= i )
In the case of tdf#146626, getAccessibleChildCount() returns 22 but
getAccessibleChild(1) throws such an exception due to the last
condition in the above code snippet.
Change-Id: If974afb7b9178faa99b91dcd79eb5f169bbfe13e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153160
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
On macOS, accessibility is implemented by creating a native NSView
for each C++ accessible element. The problem with using an NSView
for each element is that NSViews are very slow to add to or remove from
an NSWindow once the number of NSViews is more than a thousand or so.
Fortunately, Apple added a protocol that allows adding a native
accessible element using the lightweight NSAccessiblityElement class.
The topmost NSAccessiblityElement elements are connected to the single
SalFrameView in each NSWindow but since NSAccessiblityElements are not
NSViews, they are not connected to any of NSWindow's event or draw
dispatching. This makes NSAccessiblityElements significantly faster to
add to or remove from an NSWindow with no apparent loss in functionality.
Note: this change is a subset of the LibreOffice 4.4 code changes that I
wrote for NeoOffice.
Change-Id: I408108d57217db407512dfa3457fe26d2ab455de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152717
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
we can allocate this internally, which reduces the number of
heap allocations we need to do
Change-Id: Id5298e70b6816cd65d8285ceea846dc8e9e4b39d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152489
Reviewed-by: Patrick Luby <plubius@neooffice.org>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9cdc5fb38ffba113e3d069d9d766dbe1a82c492d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152352
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
(cherry picked from commit 7ae89a2ad89c9e7702fbd2b31269ee4c61fe5bcb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152316
|
|
Fix crash due to an uncaught DisposedException thrown by
SwAccessibleParagraph::getTextRange() by using the same try/catch
block in -[A11yWrapper accessibilityAttributeValue:] in
-[A11yWrapper accessibilityAttributeValue:forParameter].
Change-Id: Ifcaec3eb2d76f32bddc56a1242f6d86f8b90f782
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152361
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
(cherry picked from commit f8cc6f960e8aeb37547d447fed2b2c6e6ddc02e3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152317
|
|
Also, return an autoreleased empty array instead of a retained array.
Change-Id: I5f494b301dbae859486d6bc4874112b714022b60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150307
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
The default attributes sequence sometimes crashes when it is released but
only when compiler optimization is enabled, so disable optimization for the
+[AquaA11yTextAttributesWrapper createAttributedStringForElement] selector.
Also, disabling optimization by itself is apparently not enough to stop
the crashing. Acquiring the solar mutex during native accessibility calls
is also needed. Native accessibility calls are called from native input
sources in [NSApp nextEventMatchingMask:untilDate:inMode:dequeue:]. Since
AquaSalInstance::DoYield() releases the solar mutex before calling
[NSApp nextEventMatchingMask:untilDate:inMode:dequeue:], we need to
always acquire the solar mutex during all NSAccessibility selectors (both
the old informal protocol and the newer formal protocol) that we implement.
Change-Id: I9b715e17e9c5a32b7ce28815e288b2af236c3cc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145742
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
With 16k column support in Calc enabled by default in
commit 4c5f8ccf0a2320432b8fe91add1dcadf54d9fd58
Date: Tue Mar 8 12:44:49 2022 +0100
change default Calc number of columns to 16384 (tdf#50916)
, the number of Calc cells in a spreadsheet is larger than
SAL_MAX_INT32, meaning that a 32-bit a11y child index is no more
enough and using it resulted in integer overflows in
methods handling corresponding Calc cells in the a11y layer.
This e.g. had the effect of the Orca and NVDA screen readers
not announcing focused or selected cells properly when their
a11y child index was out of the 32-bit integer range.
Switch the internal a11y child indices to 64 bit to
be able to handle this properly internally.
Since the platform APIs (at least AT-SPI on Linux and
IAccessible2 on Windows; from what I can see LO's macOS
a11y bridge doesn't directly expose the child index)
are still restricted to 32 bit, larger child indices
still cannot be exposed via the platform APIs.
As a consequence, use of the the IAccessible2 and
AT-SPI methods that use the child index remains
problematic in those cases where the child index
is larger. However, as an alternative to using the
AT-SPI Table interface and the IAccessibleTable/
IAccessibleTable2 interfaces with the child index
to retrieve information about a specific cell,
both AT-SPI and IAccessible2 also provide interfaces
to retrieve that information directly
from the cell object (TableCell interface for AT-SPI,
IAccessibleTableCell for IAccessible2).
Those interfaces are already implemented/exposed
for winaccessibility (s. `CAccTable`) and the
qt5/qt6/kf5 VCL plugins (s. the `QAccessibleTableCellInterface`
methods implemented in `QtAccessibleInterface`).
With the switch to 64-bit internal a11y child indices,
these now behave correctly for cells with a child
index that doesn't fit into 32 bit as well.
NVDA on Windows already uses the IAccessibleTableCell
interface and thus announcing focused cells works fine
with this change in place.
Orca on Linux currently doesn't make use of the AT-SPI
TableCell interface yet, but with a suggested change to
do so [1], announcement of selected cells works
with the qt6 VCL plugin with a current qtbase dev branch
as well - when combined with the suggested changes
to implement support for the AT-SPI TableCell interface
in Qt [2] [3] and the LO change based on that [4] and
a fix for a nullptr dereference [5].
The gtk3 VCL plugin doesn't expose the AT-SPI
TableCell interface yet, but once it does so
(via `AtkTableCell`), it also works with the
suggested Orca change [1] in place.
(Adding that is planned for an upcoming change,
works with a local WIP patch.)
For handling return values that are larger than what
platform APIs support, the following approach has
been chosen for now:
1) When the return value is for the count of
(selected) children, the maximum value N
supported by the platform API is returned.
(This is what `ScAccessibleTableBase::getAccessibleChildCount`
did previously.)
The first N elements can be accessed by their
actual (selection) indices.
2) When the return value is the child/cell index,
-2 is returned for objects whose index is greater
than the maximum value supported by the platform
API.
Using a non-negative value would mean that the
index would refer to *another* actually existing
child. A child index of -1 on the other hand
tends to be interpreted as "child is invalid" or
"object isn't actually a child of its (previous)
parent any more)". For the Orca case, this would
result in objects with a child index of -1
not being announced, as they are considered
"zombies" [6].
What's still somewhat problematic is the case where
more than 2^31 children are *selected*, since access
to those children still happens by the index into
the selection in the platform APIs, and not all
selected items are accessible this way.
(Screen readers usually just retrieve
the first and last element from the selection and
announce those.)
Orca already seems to apply different handling for the
case for fully selected rows and columns, so
"All cells selected" or "Columns ... to ... selected"
is announced just fine even if more than 2^31
cells are selected.
(Side note: While Microsoft User Interface
Automation - UIA - also uses 32-bit indices, it also
has specific methods in the ISelectionProvider2
interface that allow to explicitly retrieve the
first and last selected item,
`ISelectionProvider2::get_FirstSelectedItem` and
`ISelectionProvider2::get_LastSelectedItem`, but
we currently don't support UIA on Windows.)
Bound checks at the beginning of the methods from the
`XAccessibleContext`, `XAccessibleSelection` and
`XAccessibleTable` interfaces that take a child index
(or in helper methods called by those) should generally
already prevent too large indices from being passed to
the methods in the lower layer code that take smaller
integer types. Such bound checking has been
been added in various places where it wasn't present yet.
If there any remaining issues of this
kind that show after this commit, they can probably be
solved in a similar way (s.e.g. the change to
`AccessibleBrowseBox::getAccessibleChild` in this
commit).
A few asserts were also added at
places where my understanding is that values shouldn't
be larger than what is supported by a called method
anyway.
A test case will be added in a following change.
[1] https://gitlab.gnome.org/GNOME/orca/-/merge_requests/131
[2] https://codereview.qt-project.org/c/qt/qtbase/+/428566
[3] https://codereview.qt-project.org/c/qt/qtbase/+/428567
[4] https://gerrit.libreoffice.org/c/core/+/138750
[5] https://codereview.qt-project.org/c/qt/qtbase/+/430157
[6] https://gitlab.gnome.org/GNOME/orca/-/blob/82c8542002e36e0d3d918088d583162d25136143/src/orca/script_utilities.py#L5155
Change-Id: I3af590c988b0e6754fc72545918412f39e8fea07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139258
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
which is internal API, unused (as far as I can tell) by external
users.
This state is purely a bitset
(as implemented by utl::AccessibleStateSetHelper)
so we can just return it as a 64-bit value.
This shaves significant time off the performance profiles
of code that loads very complex shapes, because this state
is frequently used, and we no longer need to allocate a return
value on the heap for every call.
Change-Id: Icf1b3bd367c256646ae9015f9127025f59459c2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136786
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia7b33ee93dbb4d27a2387af6e2dd247b5f0b0788
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118026
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
UNOIDL css.awt.Point members x, y are of type long, i.e., sal_Int32 in C++
Change-Id: I3a8f087af2e282e6b82a8409a1202f3be18464ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105744
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ie1f5c925a058ef79df3f5183051c87fa8d342fb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95063
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I05b02a2f8b4b9091c7de0f7e98409d5b608ed250
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94610
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I42d6546a9a400d8edb9ecef82614c6c88d4e6e83
Reviewed-on: https://gerrit.libreoffice.org/82806
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
which is useful because our MSVC build will warn about this by default
Change-Id: Idcc0f08b69b6eda4dd2ab010a5fdb674787bebcf
Reviewed-on: https://gerrit.libreoffice.org/80184
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Idb183e0ee9cccf0e4da16ff984ccf9b57eea0f9e
Reviewed-on: https://gerrit.libreoffice.org/77273
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
* Some .m/.mm files that still contained tabs instead of spaces have been
cleaned up with Emacs' untabify (and
apple_remote/source/HIDRemoteControlDevice.m needed further manual adaptions):
apple_remote/source/GlobalKeyboardDevice.m
apple_remote/source/HIDRemoteControlDevice.m
apple_remote/source/KeyspanFrontRowControl.m
apple_remote/source/RemoteControl.m
vcl/osx/a11yrolehelper.mm
* Some of the changes predate 0626e66d761de18f62e4d00d427903032da9d517 "Avoid
loplugin:indentation after preproc conditional inclusion lines" and would
likely have no longer been flagged since.
Change-Id: Ibf5faffa743c7f79b36109d9879eb79d63c8c40f
Reviewed-on: https://gerrit.libreoffice.org/68090
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ie6bccd2781fbbdc5f4d5dc2eb6903191aafe8265
Reviewed-on: https://gerrit.libreoffice.org/64519
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: If18c80fc64e55d797953e24e40e5d5e62bd9c625
Reviewed-on: https://gerrit.libreoffice.org/63453
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Ib06572a844d2999e9ecd91e26abd98ecec06a0ae
Reviewed-on: https://gerrit.libreoffice.org/60665
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it.
This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes.
This commit adds missing headers to every file found by:
grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG')
in files formerly omitted for oversight or non-cxx extension
Change-Id: I327c573f44076c6ccfecf737eafccba2da72e1bd
Reviewed-on: https://gerrit.libreoffice.org/58600
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Change-Id: Ied3c6d1513f2181a5f7da2904a0df2f806146cec
Reviewed-on: https://gerrit.libreoffice.org/51465
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after
cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some
more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More
loplugin:cstylecast"
Change-Id: Iff4877e8a42804c952c48c13332caf0a83c92870
Reviewed-on: https://gerrit.libreoffice.org/48216
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I4382a45dcffb32c7c001ee722ac1deccb2b01c2d
|
|
Change-Id: Icda66259acf54e6771b926ce9d329287bd610e82
|
|
Change-Id: I678b1bf281ae4de4a75f8c83398ee19f75b4f278
|
|
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
|
|
Change-Id: Ifaae7af7169fe6c24d152f8aba51ba3ff3bdb9f8
|
|
Change-Id: Icd5cc30d88f514a724dfe4858d0077650584820d
|
|
The code that the comment is talking about was removed by the commit:
fb6edeb20de56359be3d45316a2d665ad8d424a2
Let's remove the comment to spare our selfs from confusion
Change-Id: I7bdefb0ead5139be009bfb8dd7d9ad7c6821e3e8
Reviewed-on: https://gerrit.libreoffice.org/22120
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ifad76177673cf93746ba221838be80ff76fed228
Reviewed-on: https://gerrit.libreoffice.org/20032
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I31a69a997098eb1807361b8049c3312a4f287d75
|
|
Change-Id: I07bf1403e6b992807541a499b786d47f835b2f81
|
|
fixes vcl/osx/a11ywrapper.mm:1037: error: ambiguous overload for
'operator<<' (operand types are 'std::basic_ostream<char>' and 'CGPoint')
Change-Id: Iabf9a1e795c9fe89ff5d6ff379aa6a18dd7dbf65
|
|
in objc, explicit comparison with nil isn't necessary and can produce errors like:
comparison between distinct pointer types (...) and 'objc_object*' lacks a cast
upd: thanks Norbert Thiebaud for suggestion
``hitChild is a Reference so hitChild = nil was !hitChild.is() right?''
Change-Id: I105be50e5a37bb63e360622e590ec4916fa8a84f
Reviewed-on: https://gerrit.libreoffice.org/11891
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ie63ed8f6f66a7641ad872f93d76efb962333cec9
|
|
The accessibility of the sidebar is heavily built on PANEL's.
Since A11y on mac ignored panels it did not pan out well.
Also the title was removed from AXGroupRole but is needed
to announce the different panels of the sidebar.
This might have some unwanted effects on other parts of
LibreOffice since a lot of things are built up from
AccessibleRole::PANEL.
Change-Id: I095d26b3c89e2c0403d3267baa53f3bec5e07662
Reviewed-on: https://gerrit.libreoffice.org/12985
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I74bd9af6936f00fb26273606f7924f99ee7767d3
|
|
for getting the parent window of an A11y enabled NSView. The method
viewElementForParent() was abused for that purpose, but it was mis-named
and mis-typed. The new method cleans this up and the now unused
viewElementForParent() method can be retired.
(cherry picked from commit 96cd47d49a3aa5b1e3b96b649f40e516ca568d4b)
Conflicts:
vcl/osx/a11ywrapper.mm
vcl/osx/salframeview.mm
Change-Id: Ib88aa1ad442d3b8fb3adbf7a76b3ed8ca268fa87
(cherry picked from commit a7d6569fdecc36bd5ca093442a9b7aec093637d5)
|
|
Now with the ATSUI code gone is a good time for some
re-organisation. Get rid of "aqua" in file names and the separate
"coretext" folders. CoreText is all we use now for OS X (and has
always been so for iOS), so no need for a "coretext" folder, we can
keep the CoreText-using code under "quartz". Keep OS X -specific code
in "osx". Ditto for headers.
Keep "Aqua" as part of class names for now, though.
This is also preparation for planned further unification between OS X
and iOS code.
Change-Id: Ic60bd73fea4ab98183e7c8a09c7d3f66b9a34223
|