Allow to add some extra contextul information about accessibility objects
which can be used by Assistive Technology to provide better user experience.
API is still marked as beta.
@feature
This patch moves some duplicated implementation from elm_widget
and elm_widget_item classes into atspi base mixin. It allows to
better share code and reduce maintainability.
Change-Id: I8d264661e7ffade7da72299f29075a536d71eaa3
Introduce global event emitter for accessibility events. With such emitter
there is no need to register array of callbacks on every accessibility object.
elm_interface_atspi_widget object was previously used to implement
atspi features on top of elm_widget object. However such inheritance
obfuscates a design, so atspi features implementation was moved directly
into elm_widget code.
Summary:
Change requested by TAsn. Previuosly AT-SPI headers were kept private
and included directly into elementary source code. From now on,
AT-SPI headers can be included from Elementary.h public header, however
will be marked as beta APIs.
Commit includes following changes:
* include all atspi headers into new elm_interfaces.h header.
* marking all at-spi interfaces methods/properties as @protected.
* wrap all common headers with EFL_BETA_API_SUPPORT.
* make some common APIs visible in lib, by adding EAPI attribute
(if someone decides to use beta APIs).
Test Plan: out-off tree build with gcc, g++
Reviewers: tasn
Reviewed By: tasn
Subscribers: seoz, q66, kuuko
Maniphest Tasks: T1721
Differential Revision: https://phab.enlightenment.org/D1528
Summary:
Allow to create ATSPI aware objects only by attaching Atspi interface to
Eo object. Apply protected rule to all methods, properties which should
not be available to app developer. Remove public atspi header from Elementary.h.
Make Elm_Widget inherit from Atspi interfaces, Elm_Win inherits additional
Atspi_Window interface.
Unified file names - all atspi related objects/interfaces can be found under
elm_atspi_*
and elm_interface_atspi_*.
Test Plan:
build&install, out-off tree example compilation with gcc and g++,
Orca screen reader tests on Ubuntu 12.04.
Reviewers: raster, seoz, tasn, JackDanielZ
Differential Revision: https://phab.enlightenment.org/D718