The new iPod Shuffle is not only smaller than the previous flavors, but it connects with VoiceOver, the Mac's accessibility interface that was introduced in Mac OS X Tiger.
Before Tiger, Mac OS X offered a number accessibility APIs for image magnification and inversion, as well as the means to control the mouse with the keyboard. In Tiger, Apple added VoiceOver, a "full-featured screen reader and control interface."
Fully integrated into the Mac OS X Aqua user interface, VoiceOver reads out loud the content of documents such as webpages, email messages, and word-processing files. It provides a comprehensive audible description of your workspace and all the activities taking place on your computer, and includes a rich set of keyboard commands that allows you to navigate the Mac OS X interface and interact with application and system controls.
VoiceOver includes some exciting advanced features, such as the ability to handle fast speaking rates (over 750 words per minute) without choppiness, and the evaluation of an entire paragraph to determine the speaking context. VoiceOver also includes a realistic voice in Alex, and support for refreshable braille displays.
On the Shuffle's VoiceOver page there are a number of audio examples. I noticed quite a difference between the expression of VoiceOver in Mac OS X Leopard and that in Tiger (which sounds similar to its implementation under Windows, according to Apple). Perhaps this is the natural-sounding Alex voice?
In addition, the Shuffle can sync with 13 non-English languages. They sound much more machine-like to my ear with more tone played at the ends of words and phrases.
Here is a snipit from the developer note Empowering Your Carbon Application with the VoiceOver Accessibility Interface:
The key data structure that VoiceOver uses is the "Accessibility Hierarchy" (AH). The Accessibility Hierarchy is a thin, toolbox-independent method of representing the user interface. Cocoa and Carbon each implement an AH, and VoiceOver communicates with your application through the AH. Each object in the AH corresponds to a visual item in the user interface, only some of which the user can interact with. For example, the user can interact with a button, but not with painted text, although both will probably have entries in the AH. The HIToolbox builds the hierarchy automatically, but you can augment it (or change it radically) at runtime for your application.