[Kde-accessibility] How to implement AT-SPI in any applciation (java, c, etc.)

Dhairyashil Bhosale dhairyashil.bhosale584 at gmail.com
Wed Apr 1 06:09:49 UTC 2015

Hi Magdalen Berns and Alejandro,

                                       1)   I am trying to implement
java-atk-wrapper library in java swing application, I just import
java-atk-wrapper.jar in my simple swing applciation,
but I didn't get that how to implement that library.

                                       2) I simply created java swing
application and added Jtext and jbutton but How can I implement
java-atk-wrapper in swing application, that will accessible to Orca screen

                                        3) Can you give me a simple java
swing application example that will implemented java-atk-wrapper and will
accessible to orca screen reader.

With Regards,

On Wed, Mar 4, 2015 at 10:22 AM, Dhairyashil Bhosale <
dhairyashil.bhosale584 at gmail.com> wrote:

> Hi Magdalen and Alejandro,
>                       Hi Magdalen thanks for giving me the useful
> references for understanding ATK. I am trying to understand
> Java_ATK_Wrapper, so I will use that in java project, so I have some query
> like:
>                         1) I successfully install Java-atk-wrapper on
> Debian, so now I am trying implement Java-atk-wrapper in java swing
> program, so How to import JAVA_ATK_Wrapper in java project, for that is
> there any jar file is available?
>                          2) I created simple java swing program and added
> button and label in that program,  so I am trying to Implement Java-atk-wrapper
> in the swing program and trying to test that, Is that program is accessible
> with Orca Screen Reader, means can Orca read that button's caption and all?
>                         from previous conversion of Alejandro, I got that
> for making java application accessible to any assistive technology, we need
> to implement Java-atk-wrapper in java program,  so after installing
> java-atk-wrapper, How can I import java-atk-wrapper in java program.
> Sorry for late reply.
> With Regards,
> Dhairyashil
> On Mon, Mar 2, 2015 at 6:01 PM, Magdalen Berns <m.berns at thismagpie.com>
> wrote:
>> Hi Dhairyashil,
>> It is great to find that you're interested in contributing to the
>> java-atk-wrapper. Please, take a look at the HACKING file for some idea of
>> where it is at.[1] The ATK API is a useful reference.[2]
>> There is a lot to it but do not let that put you off. We will help where
>> we can. Please feel free to report any bugs you may find and you are free
>> to submit patches to bugzilla for review, if you wish to do this.[3]
>> SwingSet is a good application for testing with and accerciser is a handy
>> testing tool.[4] Before testing remember to have the setting JAW_DEBUG=1 to
>> get more information.
>> Kind regards,
>> Magdalen
>> [1] https://git.gnome.org/browse/java-atk-wrapper/tree/HACKING
>> [2] https://developer.gnome.org/atk/unstable/
>> [3] https://bugzilla.gnome.org/enter_bug.cgi?product=java-atk-wrapper
>> [4]
>> https://wiki.gnome.org/action/show/Apps/Accerciser?action=show&redirect=Accerciser
>> p.s. In case you are not already aware, the accessibility team at GNOME
>> has an IRC channel called #a11y on gimpnet.
>> On Mon, Mar 2, 2015 at 5:13 AM, Dhairyashil Bhosale <
>> dhairyashil.bhosale584 at gmail.com> wrote:
>>> HI all,
>>>            Thanks Alejandro for your reply. I am glad for your valuable
>>> reply, as per your suggestion, now I am working on java-atk-wrapper.Its
>>> worth mentioning that your brief explanation is quite helpful for
>>> beginners.Thanks again!
>>> With Regards,
>>> Dhairyashil
>>> On Fri, Feb 27, 2015 at 8:09 PM, Alejandro Piñeiro <apinheiro at igalia.com
>>> > wrote:
>>>> On 26/02/15 13:51, Dhairyashil Bhosale wrote:
>>>>    Hi all,
>>>>                I am new to At-SPI-1.0/2.0, I just successfully
>>>> initialized the At-spi-init() method and just print the name of focused
>>>> application running on GNOME. I have a lot of queries like:
>>>>                          1) Like in At-SPI-1.0 we set accessibility
>>>> setting like "putenv("GNOME_ACCESSIBILITY=1");",  this but in
>>>> AT-SPI-2.0 what parameters we have to set for enabling accessibility
>>>> setting, for the time being I start ORCA screen reader and then run
>>>> AT-SPI-2.0 demo example , so What parameters we have to set for enabling
>>>> all accessibility setting in AT-SPI2.0?
>>>> First, it is not at-spi-1.0 vs at-spi-2.0. For example at-spi2-2.0
>>>> behaviour at the beginning was basically the same that at-spi1.0. Enable
>>>> accessibility is something somewhat more broader.
>>>> Unfortunately there is not a single answer for your question. How to
>>>> enable (if needed) accessibility depends on the distro that you are using.
>>>> During all this years, there were different ways to enable the
>>>> accessibility support. One is the environment variable you mention, and
>>>> there was also the gsetting "toolkit-accessibility". You can check this one
>>>> like this:
>>>> gsettings get org.gnome.desktop.interface "toolkit-accessibility"
>>>> With a several recent-enough-distro, it would be enough to just set
>>>> that gsetting to true. But in any case, you should be able to enable
>>>> accessibility using the universal access settings dialog.
>>>> If you want a distro-independent answer, this is how it works on GNOME
>>>> upstream:
>>>>  * Since 2012 accessibility is enabled on default. So for gtk3,
>>>> gnome-shell and others, accessibility (so at-spi2) is always enabled. You
>>>> don't need to do anything.
>>>>  * Old applications, mostly using gtk2, are still affected by
>>>> toolkit-accessibility gsetting.
>>>> Rationale and some extra details on this email [1].
>>>>                           2) I am trying to make java application
>>>> accessible to orca screen reader using JNI for calling At-spi's method, but
>>>> in AT-SPI there are all get method like
>>>> " atspi_get_text() " like this, so in simple java ,python or gtk
>>>> application How should I implement the At-SPI-2.0 means from application
>>>> side we have to set somthing?
>>>> You are in the wrong side of the application. libatspi is the client
>>>> server side library, used to write AT applications like Orca. Or in other
>>>> words, libatspi is just used to get the info. Your approach would be valid
>>>> if you want to write a screen reader using Java, that as far as I see, is
>>>> not what you intend.
>>>> You would need to explore the server side (more below).
>>>>                            3) I am trying to call AT-SPI from java
>>>> using JNI interface for making java application accessible to Orca screen
>>>> reader, but when I run the java application, the Orca can not read the
>>>> title bar or can't access that application, even I tried the Java
>>>> Accessibility API(JAAPI).
>>>> Again, libatspi is the client side library. It is already implemented,
>>>> in order to get info from the accessibility APIs. So their purpose is
>>>> writing ATs, not to expose the applications
>>>> Take a look to java-atk-wrapper:
>>>> https://git.gnome.org/browse/java-atk-wrapper
>>>> This library wraps Java applications (using JNI and all that stuff),
>>>> exposing it as another ATK implementation (like those available on gtk,
>>>> clutter, etc). Then it uses the server side library at-spi2-atk to expose
>>>> the information using at-spi2 APIs. So instead of starting from scratch in
>>>> order to make java applications accessible, probably it would be better if
>>>> you collaborate with an already started module.
>>>> Best regards
>>>> [1]
>>>> https://mail.gnome.org/archives/desktop-devel-list/2012-June/msg00035.html
>>>> --
>>>> Alejandro Piñeiro (apinheiro at igalia.com)
>>> _______________________________________________
>>> gnome-accessibility-list mailing list
>>> gnome-accessibility-list at gnome.org
>>> https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-accessibility/attachments/20150401/9c7d46e9/attachment.html>

More information about the kde-accessibility mailing list