By Eric Ayers, Google Web Toolkit Team
We're pleased to announce the final release of the Gears 1.1, Gadgets 1.0, and Search 1.1 APIs, all part of the Google API Libraries for Google Web Toolkit project. We are also making available a second release candidate for the Maps API.
Download Now Online Documentation
Each library comes with:
Changes since last Release Candidate:
Gears 1.1 (1.1.1)
Gagets 1.0 (1.0.1)
Search 1.0 (1.0.1)
Maps 1.0 RC2 (1.0.1)
As described in our earlier article outlining ARIA support in GWT1.5, widgets now include basic support for W3C ARIA, an emerging set of Web standards that enable AJAX applications to work smoothly with screenreaders. But there is more to using an application than interacting with individual user interface widgets — overall usability is determined by the complete user experience.
We have improved the usability of Google Health for screenreader users by enhancing the built-in support available in GWT 1.5 via JavaScript. The resulting user experience enables users of screenreaders and self-voicing browsers to easily navigate the interface to obtain relevant auditory feedback — see the following sections for additional details.
Note that the accessibility support in Google Health requires support from both the browser as well as the adaptive technology in use. At present, we recommend Firefox 3.0 with screenreaders that support ARIA, alternatively, you can also use Fire Vox, the self-voicing extension to Firefox 3.0.
When signing in, first-time users should use this link ARIA-Enabled Google Health to turn on the accessibility enhancements. If you would like to use these enhancements whenever you sign in to Google Health, please perform these additional steps:
You can have one or more health profiles on Google Health, and once logged in, you can create and access health profiles from the main screen. Use the navigation keys (arrow keys) to navigate the interface. The left and right arrow keys move you through the major categories, whereas the up and down arrow keys move through the items in a given category. adaptive technology in use produces appropriate feedback as you move. In addition, the item under focus is visually highlighted and can be magnified by pressing the = key. Auditory feedback includes spoken output from the adaptive technology, augmented by short auditory icons that help orient the user within the application.
The bulk of the Google Health application consists of navigating among various categories, finding the relevant item within a category, and if needed, updating the contents of that item. As an example, when working with your health profile, you can:
This paradigm of navigating with the arrow keys, and pressing enter to edit the current item and using power keys for picking the desired action is applied consistently across all aspects of Google Health. Many categories in this application have a large number of items, e.g., the list of medications. In addition to the up and down arrow keys, these lists can be navigated by pressing capital letters to directly jump to the relevant section in the list of items. In addition, the application provides wizards for performing complex tasks, e.g., finding a doctor.
To conclude, here is a short summary of the generic key-bindings that are available throughout the application:
Following up on our earlier post, a release candidate of the Google Maps API Library for GWT is now available for download. This library provides a way to access the Google Maps API from a GWT project without having to write additional JavaScript code. The library gives you full control using the standard Maps components such as InfoWindows, Markers, MapTypes, and Geocoding. You can even use advanced features such as adding GWT widgets to the Map, creating custom overlays, custom map types, and other components.
In addition to maps, the Google API Libraries for GWT also provide libraries for Gears, Gadgets and the Google AJAX Search API. Please try out these release candidates and give us feedback, either through the issue tracker on code.google.com, or through the Google-Web-Toolkit or Google-Web-Toolkit-Contributors group.
By Emily Crutcher, Google Web Toolkit Team
A special thanks to the great group of engineers outside of Google who have contributed to the project including Ray Cromwell, Jason Essington, Daniel Florey, Fred Sauer.
As websites and applications become more interactive, users relying on assistive technology can find navigation difficult. Dynamic web applications are often written in ways that screen readers -- which interpret visual interfaces by speaking out loud or producing braille -- have difficulty interpreting. A developer building a tree widget, for example, might use a list element that has been altered to behave like a tree control. By default, a screen reader would present the control as a list, making the tree unusable for blind or visually impaired users. Screen readers also generally treat HTML span or div elements as regular static text elements, regardless of the presence of JavaScript event handlers for user interaction. You can easily imagine how this causes problems.
However, there's hope on the horizon in the form of WAI-ARIA, a specification for making web applications accessible via a standard set of DOM attributes. Currently a work-in-progress at the W3C, WAI-ARIA describes how to encode the purpose and function of a widget so browsers and screen readers can work together to properly identify widgets made up of DOM elements.
To make applications built with GWT more easily accessible, we've added accessibility support to the GWT library by baking ARIA roles and states into our widgets. With the accompanying ARIA support in Firefox and Opera (and soon, WebKit and Internet Explorer), applications built with the latest release of GWT will provide the information needed by screen readers such as JAWS, Window-Eyes, and FireVox. The ARIA support in the end-user tools is a bit of a moving target, but we've documented what works and what doesn't at present, so your application can evolve with the web.
If you've built your own widgets, you can make them accessible with the new Accessibility class, and to test out your newly-accessible widgets, you can watch for the ARIA attributes with a DOM inspector like Firebug. To check for the appropriate accessibility events, you can use a tool like Microsoft's Accessible Event Watcher -- or just install FireVox and listen to your application read aloud.
For more on ARIA and how to make sure your GWT application is easily accessible, you can read up on Accessibility in the GWT Developer's Guide.
We're happy — no, ecstatic — to announce that GWT 1.5 is now officially released and available for download.
Download GWT 1.5
GWT 1.5 delivers what we think are an impressive number of improvements, about four hundred issues if you're counting. We're also happy that one of those is issue 168, our most-requested feature, Support for Java 5.
Support for Java 5
We've blogged about several of the new features already. Now that it's official, let's recap and expand the list a bit...
@gwt.typeArgs
StringBuilder
TreeMap
LinkedHashMap
-ea
assert
just feel faster.
feels faster
Tree
MenuBar
TabPanel
Those are some highlights. The (new) GWT Developer's Guide has a more detailed explanation of GWT 1.5 changes, including notes about a few breaking changes you'll want to be aware of.
For further information or for help getting started with GWT, you may find the follow links helpful:
We really hope that you'll find that GWT 1.5 helps you build the most sophisticated web apps you can envision. And when you build the next big thing, please share your success stories in the GWT developer forum.
We're happy to say that the first Release Candidates for the Google API Libraries for Google Web Toolkit are now ready to be taken for a test drive.
The project is a collection of libraries that provide Java language bindings and API specific plumbing for some Google JavaScript APIs. The goal is to make it easy for developers to use these JavaScript APIs with GWT. Libraries available at this time include a new version of Gears, as well as new libraries for Gadgets and the Google AJAX Search API.
Gears 1.1 Library (Release Candidate) A new version of the Gears library is available. In addition to the earlier version's support for the Gears LocalServer, Database, and WorkerPool, 1.1 adds integrated support for offline applications and updated sample applications. The bindings have also been refactored to use GWT 1.5 JavaScript overlay types and a new package hierarchy.
Gadgets 1.0 Library (Release Candidate) The Gadgets library simplifies gadget development with GWT by automatically generating a Gadget specification from Java source and inserting a selection script in the specification much like a regular GWT project. After compiling your gadget with GWT, all files are in place to publish your gadget. This version currently supports the legacy Gadgets API based on the _IG_... namespace.
Google AJAX Search 1.0 Library (Release Candidate) The Google AJAX Search API lets you put Google Search in your web pages, including Web, Local, and Multimedia searches. This library allows you to access the API from Java code compiled with the GWT compiler without having to write additional JavaScript code.
If you've been following the early milestone builds, you may also be aware that a Google Maps API Library for GWT is in the works. Stay tuned for a release candidate for that library.
With this set of release candidates, each library is now distributed separately so that you can download only the specific library you are interested in.
We encourage you to try these release candidates out and give us feedback, either through the issue tracker on code.google.com, or through the Google-Web-Toolkit or Google-Web-Toolkit-Contributors group.