Although it is possible to write Java in a way that makes it accessible (see what Sun and IBM have put together about Java), most people find it very complicated and the software does not yet work easily. Installation of the software is difficult.
The recommendation for most authors is to avoid Java as a client-side language. Server-side processing is a good alternative or you can provide a server-side equivalent. eg if you have client-side form validation, you should also have server-side validation. The program needs to allow for the use of either validation. As it is good to do the validation on the client side, recommended practice is to have both versions.
Applets are usually Java but can be anything. If they are not Java, avoid them because even if people do get a plug-in, it won't necessarily be accessible.
In general, ensure that for every behaviour or bit of content within <script> tags, there is an accessible version of content or the behaviour available within <noscript> tags.
Flash is often a problem for accessibility: it is imperative that when Flash is used, it is combined with alternative resources in a variety of modalities so everyonhe has access to some content. this is not to discourage the use of Flash, but to encourage good use of Flash.
See for example the page titled:
Java[tm] Accessibility Quick Tips Ensuring and Verifying Basic Application Accessibility
Check your Java development:
The Java Platform
The Java platform is an attractive development environment for creating accessible educational software for several reasons. Most crucially, accessibility support is built into Java technology's core structure and is supported by the Swing user interface components which include an effective keyboard interface. The Java accessibility API, a standard extension in the Java 2 platform, enables assistive technologies (e.g., screen readers) to interact effectively with mainstream applications. The Sun access team has also developed the Java Access Bridge which allows users to run Java applications with their platform-specific assistive technologies. The Java accessibility API also contains several properties that enable developers to fine-tune how assistive technologies present their interfaces.
Sun Microsystems' Accessibility Program - Developer Information http://www.sun.com/access/developers
The Java Access Bridge http://www.java.sun.com/products/accessbridge
Java Accessibility Helper: identifies areas in an application's UI where the accessibility support has been improperly used. Follow the link from Sun's Accessibility Program at: http://www.sun.com/access
The Java Tutorial - Accessibility Section http://java.sun.com/docs/books/tutorial/uiswing/misc
Guidelines for Writing Accessible Applications using 100% Pure Java http://www-3.ibm.com/able/snsjavag.html
Last updated: 8 March 2002