jQuery Mobile uses HTML 5 and CSS 3 features to enhance basic HTML markup to create a consistent mobile experience across supported platforms. jQuery Mobile makes heavy use of the HTML 5 specification for custom data- attributes (available for review at http://dev.w3.org/html5/spec/elements.html#embedding-custom-non-visible -data-with-the-data-attributes). Using this method, it is possible to embed data into valid HTML 5 markup. jQuery Mobile has a large vocabulary of data- attributes. Upon initialization, jQuery Mobile selects elements based on their data- attributes and enhances them by inserting extra markup, adding new CSS classes, and applying event handlers. This enables you to quickly write basic semantic markup and leave it to jQuery Mobile to transform your simple markup into complex user interface elements. It’s actually an interesting exercise to see what jQuery Mobile adds to your basic markup. To do this, you will need the ability to view source both before and after JavaScript has been applied to a page—in most browsers, the “view source” menu option will only show you the unenhanced source. However, most browsers have “view generated source” plug-ins available, and the ability to view generated source is built into some browser-based web development toolbars