Accessibility in OpenJFX: The Saga Continues

Stephen F Northover steve.x.northover at oracle.com
Wed Mar 19 00:06:52 UTC 2014


Hi all,

We've been looking at Accessibility in FX for quite a while now and it has proved a very difficult component to implement.  For one reason or another it has simply not made it into the toolkit. Accessibility is a critical component and one that is essential for a number of reasons.  I'm pleased to announce that we've been working hard to tame the beast:

https://wiki.openjdk.java.net/display/OpenJFX/Accessibility+Exploration

The results of this exploration are looking really good.  Just like previous accessibility implementations, the plan is to make the code available in OpenJFX, but have it be disabled by default until it is ready.  Fortunately, the Accessibility API is small and the code does not run unless triggered by the screen reader.  This allows us to include the implementation before it is ready without destabilizing the code base.  The idea behind releasing Accessibility now is to allow people to try the code and contribute.

It is important to understand that we are at the alpha stage in development.  The API is not settled and neither is the implementation, but we have reached the point where we have proved the design with working code.  Working code is worth its weight in gold, especially when dealing with the low level details of different operating systems.  If not careful, it is quite easy to design an API that cannot be implemented on a particular platform and then be stuck with it.

There is nothing official in terms of the release date, but as important dates get closer (8u20, 8u40 and 9), we will be evaluating where we are at.  This might mean that the experimental Accessibility API may disappear temporarily only to reappear quickly in the early days of the next release.  There will be no API before its time.

Please follow along with us in JIRA, on this list and in the wikihttps://wiki.openjdk.java.net/display/OpenJFX/Accessibility

You will need to set -Djavafx.accessible=true to enable accessibility (it is disabled by default).  Currently only Windows 8 and Mac OSX 10.9 are supported.  Of course, Windows 7 and Mac 10.8 need to eventually work too and the brave among you can force the code to run using -Djavafx.accessible.force=true.

We are at the point where we're looking for community involvement in testing and implementation.  We are not yet ready for third party controls.  First, we need to get the built in FX controls working to be accessible and then use what we have learned.

Thanks for being so patient with us,

Steve



More information about the openjfx-dev mailing list