Discussion:
[Kde-accessibility] How to implement AT-SPI in any applciation (java, c, etc.)
Dhairyashil Bhosale
2015-02-26 12:51:36 UTC
Permalink
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?

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?

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).

SO HOW TO MAKE JAVA APPLICATION ACCESSIBLE TO ORCA
SCREEN READER OR OTHER ASSISTIVE TECH.


With Regards,
Dhairyashil Bhosale.
Alejandro Piñeiro
2015-02-27 14:39:55 UTC
Permalink
Post by Dhairyashil Bhosale
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
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].
Post by Dhairyashil Bhosale
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).
Post by Dhairyashil Bhosale
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
Post by Dhairyashil Bhosale
SO HOW TO MAKE JAVA APPLICATION ACCESSIBLE TO
ORCA SCREEN READER OR OTHER ASSISTIVE TECH.
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 (***@igalia.com)
Dhairyashil Bhosale
2015-03-02 05:13:58 UTC
Permalink
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
Post by Dhairyashil Bhosale
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
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
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
* 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
SO HOW TO MAKE JAVA APPLICATION ACCESSIBLE TO
ORCA SCREEN READER OR OTHER ASSISTIVE TECH.
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
--
Dhairyashil Bhosale
2015-03-04 04:52:40 UTC
Permalink
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
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 <
Post by Dhairyashil Bhosale
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
Post by Dhairyashil Bhosale
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
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
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
* 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
SO HOW TO MAKE JAVA APPLICATION ACCESSIBLE TO
ORCA SCREEN READER OR OTHER ASSISTIVE TECH.
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
--
_______________________________________________
gnome-accessibility-list mailing list
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
Dhairyashil Bhosale
2015-04-01 06:09:49 UTC
Permalink
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
reader.

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,
Dhairyashil.


On Wed, Mar 4, 2015 at 10:22 AM, Dhairyashil Bhosale <
Post by Dhairyashil Bhosale
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
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
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 <
Post by Dhairyashil Bhosale
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
Post by Dhairyashil Bhosale
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
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
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
* 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
SO HOW TO MAKE JAVA APPLICATION ACCESSIBLE TO
ORCA SCREEN READER OR OTHER ASSISTIVE TECH.
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
--
_______________________________________________
gnome-accessibility-list mailing list
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
Loading...