HTML validation, microformats, jQuery

5,347 views
6,035 views

Published on

Presented at WebTechNy on 8 October 2008.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,347
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
35
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • HTML validation, microformats, jQuery

    1. 1. HTML validation, microformats, jQuery WebTechNY 8 October 2008 Jeffrey Barke . Senior Developer / Information Architect
    2. 2. New York Web Standards Meetup
    3. 3. Topics covered in 2008 <ul><li>Google Maps API </li></ul><ul><li>Version targeting and IE 8 </li></ul><ul><li>Web Samurai errata for Web Content Accessibility Guidelines 1.0 </li></ul><ul><li>Microformats </li></ul><ul><li>WAI-ARIA </li></ul><ul><li>Ajax </li></ul><ul><li>Cloud computing </li></ul><ul><li>jQuery </li></ul><ul><li>Version control with Subversion </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    4. 4. New York Web Standards Meetup <ul><li>http://webstandards.meetup.com/118/ </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    5. 5. HTML validation
    6. 6. HTML validation <ul><li>The W3C Markup Validation Service checks web documents for conformance to HTML and XHTML standards. </li></ul><ul><li>Located at http://validator.w3.org/ </li></ul><ul><li>While valid markup does not guarantee a page will render successfully cross-browser, it makes it easier to ensure that it does, that CSS will be correctly applied and that JavaScript will function correctly. </li></ul><ul><li>All HTML user agents have extremely lenient error handling. While it is relatively consistent between browsers, there are plenty of differences in the edge cases and the error handling behavior is not documented or part of any standard. </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    7. 7. DOCTYPE <ul><li>A DOCTYPE (Document Type Declaration) associates a document with a Document Type Definition (DTD). Originally it was conceived to determine the type of document, but it is not actually suitable for this. </li></ul><ul><li>However, having a correct DOCTYPE is still important: </li></ul><ul><li>Your document won't validate without one. </li></ul><ul><li>Essential for the proper rendering and functioning of documents in modern browsers </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    8. 8. DOCTYPE “sniffing” and layout modes <ul><li>HTML layout engines use DOCTYPE &quot;sniffing&quot; on documents served as text/html to determine a layout mode. </li></ul><ul><li>While there are multiple modes, many of which are browser-specific, the two major modes are &quot;quirks mode&quot; and &quot;standards mode.“ </li></ul><ul><li>In the standards mode the browsers try to give conforming documents the specification-wise correct treatment to the extent implemented in a particular browser. </li></ul><ul><li>Since different browsers are at different stages of compliance, the Standards mode isn’t a single target, either. </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    9. 9. DOCTYPE “sniffing” and layout modes (cont’d) <ul><li>In quirks mode, attempts are made to emulate the behavior of older browsers. This includes the Internet Explorer box model bug. </li></ul><ul><li>Obviously, we want to be in standards mode: </li></ul><ul><li><!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;> </li></ul><ul><li><!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; </li></ul><ul><li>&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    10. 10. HTML, XML and XHTML <ul><li>&quot;Understanding HTML, XML and XHTML&quot; by Maciej Stachowiak http://webkit.org/blog/68/understanding-html-xml-and-xhtml/ </li></ul><ul><li>HTML was originally an application of SGML. </li></ul><ul><li>As actually used on the web, HTML is best described as a custom language influenced by SGML. </li></ul><ul><li>XHTML is a reformulation of HTML in XML syntax. </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    11. 11. HTML, XML and XHTML (cont’d) <ul><li>What determines if a document is HTML or XHTML? </li></ul><ul><li>None of the following: </li></ul><ul><li>Using an XHTML doctype declaration </li></ul><ul><li>Putting an XML declaration at the top </li></ul><ul><li>Using XHTML-specific syntax like self-closing tags </li></ul><ul><li>Validating it as XHTML </li></ul><ul><li>Only the MIME type. And the vast majority of documents are served as text/html , not application/xhtml+xml or text/xml . </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    12. 12. Validation and its discontents <ul><li>“ 'HTML validation' is a good tool, but just a tool” by Jukka &quot;Yucca&quot; Korpela http:// www.cs.tut.fi/~jkorpela/html/validation.html : </li></ul><ul><li>Although there is really not much to be gained from using XHTML at present, many people have started using it. Then it becomes relevant that validation means different things for XHTML. The reason is that the metalanguage, XML, is considerably less powerful than SGML. For example, the XML DTD for XHTML 1.0 declares the tabindex attribute as CDATA, which allows virtually anything. In the SGML DTDs of &quot;old&quot; HTML, the attribute is declared as NUMBER. This means that in validating against &quot;old&quot; HTML, tabindex=&quot;-1&quot; is reported as an error (as it is), in XHTML validation it passes. On the other hand, XML imposes restrictions that forbid constructs that are formally correct in SGML-based HTML but not actually supported by browsers, such as the shorthand <em/text/ for <em>text</em>, and this means that XHTML validation is pragmatically more useful in some ways. </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    13. 13. Validation and its discontents (cont’d) <ul><li>“ 'HTML validation' is a good tool, but just a tool” by Jukka &quot;Yucca&quot; Korpela http:// www.cs.tut.fi/~jkorpela/html/validation.html : </li></ul><ul><li>It's useful to write valid markup, in most cases. But it's hardly useful to make a noise about it. </li></ul><ul><li>Analogously, it's useful to use proper punctuation when you write in English. This makes texts somewhat easier to read and understand, and it adds to the literary quality a bit. There are slightly different styles of punctuation, and you should choose one and stick to it. But it's hardly useful to make a noise thereof. Would you like to include an icon like &quot;Checked SGUFDFY 42.5!&quot; onto your pages and expect users to decipher that SGUFDFY 42.5 means some particular convention on punctuation? </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    14. 14. Validation and its discontents (cont’d) <ul><li>“ Martian Headsets” by Joel Spolsky http://www.joelonsoftware.com/items/2008/03/17.html : </li></ul><ul><li>In the real world where people are imperfect, you can’t have a standard with just a spec–you must have a super-strict reference implementation, and everybody has to test against the reference implementation. Otherwise you get 17 different “standards” and you might as well not have one at all. </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    15. 15. What it all means <ul><li>Use the HTML 4 DOCTYPE declaration. </li></ul><ul><li>Serve content with the text/html MIME type. </li></ul><ul><li>Validate content as HTML, not XHTML. </li></ul><ul><li>Do not use “Valid HTML” icons. </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    16. 16. References <ul><li>“ Quirks mode and strict mode”: http:// www.quirksmode.org/css/quirksmode.html </li></ul><ul><li>“ Activating Browser Modes with Doctype”: http://hsivonen.iki.fi/doctype/ </li></ul><ul><li>“ Fix Your Site With the Right DOCTYPE!” Jeffrey Zeldman: http:// www.alistapart.com/articles/doctype / </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    17. 17. Microformats
    18. 18. What are microformats? <ul><li>Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards. –Dan Cedarholm with Tantek Çelik for launch of microformats.org </li></ul><ul><li>Microformats are simple conventions for embedding semantics in HTML to enable decentralized development. –from the mailing list </li></ul><ul><li>Microformats are carefully designed (X)HTML class names that extend the semantics of (X)HTML and enable authors to publish higher semantic fidelity content such as people, events, reviews, etc. –Tantek Çelik </li></ul><ul><li>Microformats are a way of identifying and labeling classes of commonly used data that make it easier for humans or computers to locate or distribute such information on websites. –Dave Sanford </li></ul><ul><li>Source: http://microformats.org/wiki/what-are-microformats </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    19. 19. What are microformats? (cont’d) <ul><li>A microformat (sometimes abbreviated μF or uF) is a web-based data formatting approach that seeks to re-use existing content as metadata, using only XHTML and HTML classes and other attributes. This approach is intended to allow information intended for end-users (such as contact information, geographic coordinates, calendar events, and the like) to also be automatically processed by software. </li></ul><ul><li>Source: http:// en.wikipedia.org/wiki/Microformats </li></ul>HTML validation, microformats, jQuery • WebTechNY / 8 October 2008
    20. 20. Why use microformats? <ul><li>Aggregation sites </li></ul><ul><ul><li>The general model is the user travels to a particular site, and then proceeds to enter data (classified add, review, list of friends) for a particular purpose. Your information is scattered all over the Web, and you have to pick which sites you want to use. </li></ul></ul><ul><ul><li>The combination of blogging and microformats is now reversing this model. Now, your information remains in your blog, and the Web sites come to you. For instance, if you want to sell something, you can blog about it using an hListing, and a site like edgeio will find it when it aggregates classified advertisements across the Web. </li></ul></ul><ul><li>Source: http://blog.mozilla.com/faaborg/2006/12/11/microformats-part-0-introduction/ </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    21. 21. Why use microformats? (cont’d) <ul><li>Sharing information with a specific community </li></ul><ul><ul><li>Let’s say you enjoy mountain biking, and would like to share various trails with other people who also enjoy mountain biking. If you posted this information to your blog, you could geocast (RSS with a payload of geo), the locations of the mountain bike trails, and other people in the community could subscribe to this feed using an application like Google Earth. </li></ul></ul><ul><li>Targeted search </li></ul><ul><ul><li>Let’s say you are creating a web comic, and you want other people to be able to find it. By posting your comic with a microformat agreed upon by the web comic community, the rest of the community will be able to easily find your work using a search engine. </li></ul></ul><ul><li>Source: http://blog.mozilla.com/faaborg/2006/12/11/microformats-part-0-introduction/ </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    22. 22. Why use microformats? (cont’d) <ul><li>CSS convenience </li></ul><ul><ul><li>Use semantic classes for styling instead of ad-hoc names: “Why invent your own class names when you can re-use pre-defined ones that give your site extra functionality for free?” </li></ul></ul><ul><li>Enhanced user experience (with the proper browser or plugins) </li></ul><ul><ul><li>Version 3 of the Firefox as well as version 8 of Internet Explorer are expected to include native support for microformats </li></ul></ul><ul><li>Ability to leverage markup for your own uses (we’ll see an example of this later) </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    23. 23. Who’s creating the microformats? <ul><li>Microformats emerged as part of a grassroots movement to make recognizable data items (such as events, contact details or geographical locations) capable of automated processing by software, as well as directly readable by end-users. </li></ul><ul><li>As the microformats community grew, CommerceNet, a nonprofit organization that promotes electronic commerce on the Internet, helped sponsor and promote the technology and support the microformats community in various ways. CommerceNet also helped co-found the microformats community site microformats.org. </li></ul><ul><li>Source: http:// en.wikipedia.org/wiki/Microformats </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    24. 24. Who’s creating the microformats? (cont’d) <ul><li>Neither CommerceNet nor Microformats.org is a standards body. The microformats community is an open wiki, mailing list, and Internet relay chat (IRC) channel. Most of the existing microformats were created at the Microformats.org wiki and associated mailing list, by a process of gathering examples of web publishing behaviour, then codifying it. Some other microformats (such as rel=nofollow and unAPI) have been proposed, or developed, elsewhere. </li></ul><ul><li>Some names associated with microformats: </li></ul><ul><ul><li>Dan Cedarholm </li></ul></ul><ul><ul><li>Tantek Çelik </li></ul></ul><ul><ul><li>Drew McLellan </li></ul></ul><ul><ul><li>Eric A. Meyer </li></ul></ul><ul><li>Source: http:// en.wikipedia.org/wiki/Microformats </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    25. 25. Where the specs are located and how to get involved <ul><li>Blog: http://microformats.org/ </li></ul><ul><li>Wiki: http:// microformats.org/wiki/Main_Page </li></ul><ul><li>Email list: http://microformats.org/discuss/ </li></ul><ul><li>IRC: irc://irc.freenode.net#microformats </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    26. 26. Using microformats
    27. 27. Microformat specifications and drafts <ul><li>http://microformats.org/wiki/Main_Page#Specifications </li></ul><ul><li>The ones I use: </li></ul><ul><ul><li>Specifications </li></ul></ul><ul><ul><ul><li>hCalendar </li></ul></ul></ul><ul><ul><ul><li>hCard </li></ul></ul></ul><ul><ul><ul><li>rel-license </li></ul></ul></ul><ul><ul><ul><li>rel-nofollow </li></ul></ul></ul><ul><ul><ul><li>rel-tag </li></ul></ul></ul><ul><ul><li>Drafts </li></ul></ul><ul><ul><ul><li>adr </li></ul></ul></ul><ul><ul><ul><li>geo </li></ul></ul></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    28. 28. hCard <ul><li>hCard is a simple, open, distributed format for representing people, companies, organizations, and places, using a 1:1 representation of vCard (RFC2426) properties and values in semantic HTML or XHTML </li></ul><ul><li>Spec: http://microformats.org/wiki/hcard </li></ul><ul><li>Probably easiest way to learn the format is by example: http://microformats.org/code/hcard/creator </li></ul><ul><li>The root class name for an hCard is &quot;vcard&quot;. An element with a class name of &quot;vcard&quot; is itself called an hCard . </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    29. 29. hCalendar <ul><li>hCalendar is a simple, open, distributed calendaring and events format, based on the iCalendar standard (RFC2445), suitable for embedding in HTML or XHTML, Atom, RSS, and arbitrary XML. </li></ul><ul><li>Spec: http:// microformats.org/wiki/hcalendar </li></ul><ul><li>Probably easiest way to learn the format is by example: http:// microformats.org/code/hcalendar/creator </li></ul><ul><li>Note–the dtstart and dtend classes must be applied to abbr elements. </li></ul><ul><li>DATE_FORMAT(startdate, '%Y-%m-%dT%H:%i:00') AS startdate </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    30. 30. Rel-License <ul><li>Rel-License is a simple, open, format for indicating content licenses which is embeddable in HTML or XHTML, Atom, RSS, and arbitrary XML </li></ul><ul><li>Spec: http:// microformats.org/wiki/rel -license </li></ul><ul><li>Rel-License is one of several MicroFormats. By adding rel=&quot;license&quot; to a hyperlink, a page indicates that the destination of that hyperlink is a license for the current page. </li></ul><ul><ul><li>E.g. with the following hyperlink: <a href=&quot;http://creativecommons.org/licenses/by/2.0/&quot; rel=&quot;license&quot;>cc by 2.0</a> the author indicates that the page is licensed under a Creative Commons 2.0 Attribution Required license. </li></ul></ul><ul><li>Multiple such rel=&quot;license&quot; hyperlinks indicate that the page is available under any of the referred licenses. E.g. the following hyperlinks could be used to declare that a page is available under either a Creative Commons 2.0 Attribution Required license or the Apache 2.0 license. </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    31. 31. Rel-License (cont’d) <ul><li>Creative Commons license chooser: http:// creativecommons.org /license/ </li></ul><ul><li>Dreamweaver Extension suite ( http:// www.webstandards.org/action/dwtf/microformats / ) from the Web Standards Project ( http:// webstandards.org / ) enables the authoring of rel-license links from within Dreamweaver 8. Includes (cc) defaults. </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    32. 32. Rel-Tag <ul><li>Spec: http:// microformats.org/wiki/rel -tag </li></ul><ul><li>By adding rel=&quot;tag&quot; to a hyperlink, a page indicates that the destination of that hyperlink is an author-designated &quot;tag&quot; (or keyword/subject) for the current page. Note that a tag may just refer to a major portion of the current page (i.e. a blog post). e.g. by placing this link on a page, <a href=&quot;http://technorati.com/tag/tech&quot; rel=&quot;tag&quot;>tech</a> the author indicates that the page (or some portion of the page) has the tag &quot;tech&quot;. </li></ul><ul><li>The linked page SHOULD exist, and it is the linked page, rather than the link text, that defines the tag. The last path component of the URL is the text of the tag, so <a href=&quot;http://technorati.com/tag/tech&quot; rel=&quot;tag&quot;>fish</a> would indicate the tag &quot;tech&quot; rather than &quot;fish&quot;. </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    33. 33. Consuming microformats
    34. 34. Tools for reading microformats <ul><li>Firefox extensions: </li></ul><ul><ul><li>Operator </li></ul></ul><ul><ul><ul><li>A microformat detection extension developed by Michael Kaply at IBM. </li></ul></ul></ul><ul><ul><ul><li>https://addons.mozilla.org/en-US/firefox/addon/4106 </li></ul></ul></ul><ul><ul><li>Tails </li></ul></ul><ul><ul><ul><li>The first microformat detection extension for Firefox by Robert de Bruin. </li></ul></ul></ul><ul><ul><ul><li>http://blog.codeeg.com/tails-firefox-extension-03/ </li></ul></ul></ul><ul><li>Source: http://labs.mozilla.com/2006/12/introducing-operator/ </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    35. 35. Tools for reading microformats (cont’d) <ul><li>Operator builds on Tails Export by having a user interface that is based around actions the user can take, instead of data types. Operator also includes support for the microformats geo and rel-tag, and is compatible with Firefox 3. </li></ul><ul><li>Address book + Operator </li></ul><ul><li>Blog post tag + Operator </li></ul><ul><li>Maps + Operator </li></ul><ul><li>Calendar + Operator </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    36. 36. Building your own applications on microformats <ul><li>Great tutorial on mapping microformats with jQuery at 24 ways: http://24ways.org/2007/unobtrusively-mapping-microformats-with-jquery </li></ul><ul><ul><li>Unobtrusive JavaScript </li></ul></ul><ul><ul><li>jQuery </li></ul></ul><ul><ul><li>Google Maps API </li></ul></ul><ul><ul><li>Mapstraction </li></ul></ul><ul><ul><li>http://24ways.org/examples/unobtrusively-mapping-microformats-with-jquery/restaurants-plain.html </li></ul></ul><ul><ul><li>http://24ways.org/examples/unobtrusively-mapping-microformats-with-jquery/restaurants.html </li></ul></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    37. 37. Some sites that use microformats <ul><li>Flickr </li></ul><ul><li>Meetup.com </li></ul><ul><li>Technorati </li></ul><ul><li>Upcoming.org </li></ul><ul><li>Yahoo! Local </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    38. 38. Microformat buttons <ul><li>http:// www.factorycity.net/projects/microformats -icons/ </li></ul><ul><li>http:// microformats.org/wiki/buttons </li></ul>Introduction to Microformats • WebTechNY / 8 October 2008
    39. 39. jQuery
    40. 40. What is jQuery? <ul><li>jQuery is a JavaScript library. One among many: </li></ul><ul><li>Protoype </li></ul><ul><li>Dojo Toolkit </li></ul><ul><li>MooTools </li></ul><ul><li>jQuery is one of the newer JavaScript libraries. It was released in January 2006 by John Resig, author of Pro JavaScript Techniques. It’s a fast, lightweight library that emphasizes the interaction between HTML and JavaScript using CSS-style selectors. </li></ul><ul><li>Has a great development community. </li></ul><ul><li>Microsoft and Nokia intend to bundle jQuery on their platforms. </li></ul>HTML validation, microformats and jQuery • WebTechNY / 8 October 2008
    41. 41. Why jQuery? <ul><li>JavaScript libraries make it faster and easier to develop distinctive JavaScript applications. </li></ul><ul><li>No reason to roll your JS library from scratch or worry about handling cross-browser Ajax quirks. </li></ul><ul><li>http:// en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks </li></ul>HTML validation, microformats and jQuery • WebTechNY / 8 October 2008
    42. 42. DOM scripting without and with jQuery <ul><li>var external_links = document.getElementById('external_links'); </li></ul><ul><li>var links = external_links.getElementsByTagName('a'); </li></ul><ul><li>for (var i=0;i < links.length;i++) { </li></ul><ul><li>var link = links.item(i); </li></ul><ul><li>link.onclick = function() { </li></ul><ul><li>return confirm('You are going to visit: ' + this.href); </li></ul><ul><li>}; </li></ul><ul><li>} </li></ul><ul><li>$('#external_links a').click(function() { </li></ul><ul><li>return confirm('You are going to visit: ' + this.href); </li></ul><ul><li>}); </li></ul>HTML validation, microformats and jQuery • WebTechNY / 8 October 2008
    43. 43. Another example: zebra-striping with jQuery <ul><li>$(‘table tr:nth-child(even)’).addClass(‘striped’); </li></ul><ul><li>$() returns a JavaScript object containing an array of DOM elements that match the selector. </li></ul><ul><li>‘ table tr’ would return all table rows. :nth-child(n|odd|even) returns a specific child or all the even or odd children. </li></ul><ul><li>.addClass adds the specified class or class name to the wrapped set. </li></ul>HTML validation, microformats and jQuery • WebTechNY / 8 October 2008
    44. 44. Getting jQuery <ul><li>Two methods: </li></ul><ul><li>Download jQuery from http://docs.jquery.com/Downloading_jQuery , upload to your web server and add a script element to the page. </li></ul><ul><li>Use the Google Ajax Libraries API: http://code.google.com/apis/ajaxlibs/ </li></ul><ul><li>Which is better? </li></ul>HTML validation, microformats and jQuery • WebTechNY / 8 October 2008
    45. 45. Google Ajax Libraries API <ul><li>Caching is done correctly, and once, by Google. Developers don’t have to do anything. </li></ul><ul><li>Gzipped </li></ul><ul><li>Google serves minified versions </li></ul><ul><li>The files are hosted by Google which has a distributed CDN at various points around the world, so the files are &quot;close&quot; to the user </li></ul><ul><li>The servers are fast </li></ul><ul><li>By using the same URLs, if a critical mass of applications use the Google infrastructure, when someone comes to your application the file may already be loaded. </li></ul><ul><li>A subtle performance (and security) issue revolves around the headers that you send up and down. Since you are using a special domain (NOTE: not google.com!), no cookies or other verbose headers will be sent up, saving precious bytes. </li></ul>HTML validation, microformats and jQuery • WebTechNY / 8 October 2008
    46. 46. Next steps <ul><li>Documentation and tutorials at the jQuery site: http://docs.jquery.com/Tutorials </li></ul><ul><li>jQuery in Action. Bear Bibeault and Yehuda Katz. Manning. 2008. </li></ul><ul><li>“ Simplify Ajax development with jQuery.” Jesse Skinner. http://www.ibm.com/developerworks/library/x-ajaxjquery.html </li></ul><ul><li>15 Days of jQuery: http://15daysofjquery.com/ </li></ul><ul><li>Scott Trudeau’s (Apartment Therapy Media) “Introduction to Kicking Ass with jQuery”: http://webstandards.meetup.com/118/calendar/8689977/ </li></ul>HTML validation, microformats and jQuery • WebTechNY / 8 October 2008

    ×