Cross platform, cross device, and cross browser
UI optimized for touch devices
Themeable and customizable design
AJAX calls automatically to load dynamic content
Built on the well-known and supported jQuery core
Lightweight size, 12Kb compressed
We’ve already discussed some of these features. Let’s deeply analyze others.
I know you are hungry: you need to see some code. Here you have it. jQuery Mobile creates webapps from standard and semantic HTML5, perfectly suitable for search engine optimization (SEO) and web performance optimization (WPO) purposes:
Figure 1-6. How our first simple jQuery Mobile code looks on different devices: iOS, webOS, and Android
Figure 1-7. On noncompatible browsers, jQuery Mobile falls back to a simple, fully functional HTML file
Be patient, we will start analyzing the jQuery code in the following chapters.
Progressive enhancement is a simple but very powerful technique used in web design that defines layers of compatibility that allow any user to access the basic content, services, and functionality of a website, while providing an enhanced experience for browsers with better support of standards. jQuery Mobile is totally built using this technique.
The term progressive enhancement was coined by Steven Champeon in 2003 (http://www.hesketh.com), and while this approach wasn’t defined for the mobile web specifically, it is perfect for mobile web design.
Progressive enhancement has the following core principles:
Basic content is accessible to all browsers.
Basic functionality is accessible to all browsers.
Semantic markup contains all content.
Enhanced layout is provided by externally linked CSS.
End user browser preferences are respected.
Web accessibility refers to the inclusive practice of making websites usable by people of all abilities and disabilities. When sites are correctly designed, developed, and edited, all users can have equal access to information and functionality.
Web accessibility inside mobile browsers has just begun; however, jQuery Mobile is now fully compatible with W3C’s WAI-ARIA specification on compatible browsers (http://www.w3.org/TR/wai-aria/). At the time of this writing, only iOS 4.0 or higher is compatible with this specification with the feature called VoiceOver.