trufflepig 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
data/data/features.json CHANGED
@@ -1 +1 @@
1
- [{"title":"Animated PNG (APNG)","description":"Like animated GIFs, but allowing 24-bit colors and alpha transparency","spec":"https://wiki.mozilla.org/APNG_Specification","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/APNG","title":"Wikipedia"},{"url":"http://www.truekolor.net/learn-how-to-create-an-animated-png/","title":"APNG tutorial"},{"url":"http://animatedpng.com/","title":"An APNG editor"}],"categories":["PNG"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Where support for APNG is missing, only the first frame is displayed","usage_perc_y":24.32,"usage_perc_a":0,"id":"apng"},{"title":"Audio element","description":"Method of playing sound on webpages (without requiring a plug-in)","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#audio","status":"wd","links":[{"url":"http://html5doctor.com/native-audio-in-the-browser/","title":"HTML5 Doctor article"},{"url":"http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/","title":"Detailed article on video/audio elements"},{"url":"http://www.jplayer.org/latest/demos/","title":"Demos of audio player that uses <audio>"},{"url":"http://24ways.org/2010/the-state-of-html5-audio","title":"Detailed article on support"},{"url":"http://textopia.org/androidsoundformats.html","title":"File format test page"},{"url":"http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio","title":"The State of HTML5 Audio"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":67.68,"usage_perc_a":0.05,"detection_pattern":"<audio.*>.*<\\/audio>","id":"audio"},{"title":"Audio API","description":"High-level JavaScript API for processing and synthesizing audio","spec":"http://www.w3.org/TR/audioproc/","status":"wd","links":[{"url":"http://www.w3.org/TR/streamproc/","title":"MediaStream Processing API"},{"url":"http://www.w3.org/TR/webaudio/","title":"Web Audio API by Google"},{"url":"https://github.com/corbanbrook/audionode.js","title":"Polyfill to support Web Audio API in Firefox"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","2":"n","3":"n","3.5":"n","3.6":"n","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Current support in Gecko/WebKit is based on two different proposals.","usage_perc_y":0,"usage_perc_a":43.74,"id":"audio-api"},{"title":"CSS3 Background-image options","description":"New properties to affect background images, including background-clip, background-origin and background-size","spec":"http://www.w3.org/TR/css3-background/#backgrounds","status":"cr","links":[{"url":"http://www.standardista.com/css3/css3-background-properties","title":"Detailed compatibility tables and demos"},{"url":"http://www.css3files.com/background/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"a x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a x","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"a","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":66.28,"usage_perc_a":3.78,"id":"background-img-opts"},{"title":"BlobBuilder API","description":"Construct Blobs (binary large objects) and files","spec":"http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/BlobBuilder","title":"MDN article"}],"categories":[],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"n","5":"n","6":"n","7":"n","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y x","4":"y x"}},"notes":"","usage_perc_y":42.8,"usage_perc_a":0,"ucprefix":1,"parent":"fileapi","detection_pattern":"new\\s+BlobBuilder","id":"blobbuilder"},{"title":"Blob URLs","description":"Method of creating URL handles to the specified File or Blob object.","spec":"http://www.w3.org/TR/FileAPI/#url","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/window.URL.createObjectURL","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"n","5":"n","6":"n","7":"n","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y x"}},"notes":"","usage_perc_y":43.91,"usage_perc_a":0,"parent":"fileapi","keywords":"createobjecturl","detection_pattern":"blob\\:","id":"bloburls"},{"title":"CSS3 Border images","description":"Method of using images for borders","spec":"http://www.w3.org/TR/css3-background/#the-border-image","status":"cr","links":[{"url":"http://www.css3files.com/border/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","2":"n","3":"n","3.5":"a x","3.6":"a x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"y x","16":"y","17":"y","18":"y","19":"y","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"safari":{"3.1":"a x","3.2":"a x","4":"a x","5":"a x","5.1":"a x","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"a","10.6":"a","11":"a x","11.1":"a x","11.5":"a x","11.6":"a x","12":"a x","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5":"a x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"a x","11.1":"a x","11.5":"a x","12":"a x"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"a x"}},"notes":"Partial support refers to supporting the shorthand syntax, but not the individual properties (border-image-source, border-image-slice, etc)","usage_perc_y":24.41,"usage_perc_a":33.6,"detection_pattern":"border-image(-(source|slice|width|outset|repeat))?\\:","id":"border-image"},{"title":"CSS3 Border-radius (rounded corners)","description":"Method of making the border corners round","spec":"http://www.w3.org/TR/css3-background/#the-border-radius","status":"cr","links":[{"url":"http://border-radius.com","title":"Border-radius CSS Generator"},{"url":"http://muddledramblings.com/table-of-css3-border-radius-compliance","title":"Detailed compliance table"},{"url":"http://www.css3files.com/border/#borderradius","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"a x","3":"y x","3.5":"y x","3.6":"y x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y x","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y x","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":68.84,"usage_perc_a":0.09,"keywords":"roundedcorners, border radius,-moz-border-radius","detection_pattern":"border(-(top|bottom)-(right|left))?-radius\\:","id":"border-radius"},{"title":"calc() as CSS unit value","description":"Method of allowing calculated values for length units, i.e. width: calc(100%-3em)","spec":"http://www.w3.org/TR/css3-values/#calc","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/06/css3-calc/","title":"Mozilla Hacks article"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Support can be somewhat emulated in older versions of IE using the non-standard expression() syntax.","usage_perc_y":28.77,"usage_perc_a":0,"detection_pattern":"[a-zA-Z-]+:s*calc(.*)","id":"calc"},{"title":"Canvas (basic support)","description":"Method of generating fast, dynamic graphics using JavaScript","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element","status":"wd","links":[{"url":"https://developer.mozilla.org/en/Canvas_tutorial","title":"Tutorial by Mozilla"},{"url":"http://www.canvasdemos.com/","title":"Showcase site"},{"url":"http://glimr.rubyforge.org/cake/canvas.html","title":"Animation kit "},{"url":"http://www.diveinto.org/html5/canvas.html","title":"Another tutorial"},{"url":"http://explorercanvas.googlecode.com/","title":"Implementation for Internet Explorer"}],"categories":["Canvas","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"a"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Opera Mini supports the canvas element, but is unable to play animations or run other more complex applications.","usage_perc_y":68.99,"usage_perc_a":1.94,"detection_pattern":"<canvas.*>.*<\\/canvas>","id":"canvas"},{"title":"Text API for Canvas","description":"Method of displaying text on Canvas elements","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#text-0","status":"wd","links":[{"url":"https://developer.mozilla.org/en/Drawing_text_using_a_canvas#Additional_examples","title":"Examples by Mozilla"},{"url":"http://code.google.com/p/canvas-text/","title":"Support library"}],"categories":["Canvas","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":68.47,"usage_perc_a":0,"parent":"canvas","id":"canvas-text"},{"title":"classList (DOMTokenList )","description":"Method of easily manipulating classes on elements, using the DOMTokenList object.","spec":"http://www.w3.org/TR/html5/common-dom-interfaces.html#domtokenlist-0","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/01/classlist-in-firefox-3-6/","title":"Mozilla Hacks article"},{"url":"https://github.com/eligrey/classList.js","title":"Polyfill script"}],"categories":["DOM","HTML5"],"stats":{"ie":{"10":"u","5.5":"p","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"p","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"p","5":"p","6":"p","7":"p","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"y","11.6":"y","12":"y","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5":"y"},"op_mini":{"5.0-6.0":"p"},"op_mob":{"10":"p","11":"p","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"y","4":"y"}},"notes":"","usage_perc_y":53.13,"usage_perc_a":0,"id":"classlist"},{"title":"contenteditable attribute (basic support)","description":"Method of making any HTML element editable","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#contenteditable","status":"wd","links":[{"url":"http://html5demos.com/contenteditable","title":"Demo page"},{"url":"http://blog.whatwg.org/the-road-to-html-5-contenteditable","title":"WHATWG blog post"},{"url":"http://accessgarage.wordpress.com/2009/05/08/how-to-hack-your-app-to-make-contenteditable-work/","title":"Blog post on usage problems"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"y","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited.","usage_perc_y":89.69,"usage_perc_a":0.36,"detection_pattern":"<\\w.*\\scontenteditable.*>","id":"contenteditable"},{"title":"Cross-Origin Resource Sharing","description":"Method of performing XMLHttpRequests across domains","spec":"http://www.w3.org/TR/cors/","status":"wd","links":[{"url":"http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/","title":"Mozilla Hacks blog post"},{"url":"http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx","title":"Alternative implementation by IE8"},{"url":"http://saltybeagle.com/2009/09/cross-origin-resource-sharing-demo/","title":"Demo and script with cross-browser support"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Supported somewhat in IE8 and IE9 using the XDomainRequest object","usage_perc_y":56.29,"usage_perc_a":29.52,"id":"cors"},{"title":"CSS3 Animation","description":"Complex method of animating certain properties of an element","spec":"http://www.w3.org/TR/css3-animations/","status":"wd","links":[{"url":"http://robertnyman.com/2010/05/06/css3-animations/","title":"Blog post on usage"},{"url":"http://www.css3files.com/animation/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"y x"}},"notes":"Partial support in Android browser refers to buggy behavior in different scenarios.","usage_perc_y":49.92,"usage_perc_a":1.8,"keywords":"animations,css-animations,keyframe","detection_pattern":"animation(-(name|duration|timing-function|iteration-count|direction|delay))?\\:","id":"css-animation"},{"title":"CSS3 Box-shadow","description":"Method of displaying an inner or outer shadow effect to elements","spec":"http://www.w3.org/TR/css3-background/#box-shadow","status":"cr","links":[{"url":"https://developer.mozilla.org/En/CSS/-moz-box-shadow","title":"MDN article"},{"url":"http://westciv.com/tools/boxshadows/index.html","title":"Live editor"},{"url":"http://tests.themasta.com/blogstuff/boxshadowdemo.html","title":"Demo of various effects"},{"url":"http://thany.nl/apps/boxshadows/","title":"Visual browser comparison"},{"url":"http://www.css3files.com/shadow/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y x","3.6":"y x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"}},"notes":"Can be partially emulated in older IE versions using the non-standard \"shadow\" filter.","usage_perc_y":68.49,"usage_perc_a":0,"keywords":"box-shadows,boxshadows,box shadow,shaow","detection_pattern":"box-shadow\\:","id":"css-boxshadow"},{"title":"CSS Canvas Drawings","description":"Method of using HTML5 Canvas as a background image","spec":"http://webkit.org/blog/176/css-canvas-drawing/","status":"unoff","links":[{"url":"http://webkit.org/blog/176/css-canvas-drawing/","title":"Webkit blog post"}],"categories":["CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"}},"notes":"Proposal by Webkit, being considered for W3C standardization. A similar effect can be achieved in Firefox 4+ using the -moz-element() background property","usage_perc_y":34.07,"usage_perc_a":0,"id":"css-canvas"},{"title":"CSS position:fixed","description":"Method of keeping an element in a fixed location regardless of scroll position","spec":"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning","status":"rec","links":[{"url":"http://www.css-101.org/fixed-positioning/05.php","title":"Workaround for IE6"},{"url":"http://bradfrostweb.com/blog/mobile/fixed-position/","title":"Article on mobile support"}],"categories":["CSS"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"y","4":"y"}},"notes":"Only works in Android 2.2+ by using the following meta tag: &lt;meta name=\"viewport\" content=\"width=device-width, user-scalable=no\">","usage_perc_y":88.74,"usage_perc_a":1.74,"detection_pattern":"position\\:s*fixed","id":"css-fixed"},{"title":"CSS Generated content","description":"Method of displaying text or images before or after the given element's contents using the :before and :after pseudo-elements","spec":"http://www.w3.org/TR/CSS21/generate.html","status":"rec","links":[{"url":"http://www.westciv.com/style_master/academy/css_tutorial/advanced/generated_content.html","title":"Guide on usage"},{"url":"http://dev.opera.com/articles/view/css-generated-content-techniques/","title":"Dev.Opera article"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":89.98,"usage_perc_a":0,"keywords":"before,after","detection_pattern":"content\\:","id":"css-gencontent"},{"title":"CSS Gradients","description":"Method of defining a linear or radial color gradient as a CSS image.","spec":"http://www.w3.org/TR/css3-images/","status":"wd","links":[{"url":"http://www.colorzilla.com/gradient-editor/","title":"Cross-browser editor"},{"url":"http://www.css3files.com/gradient/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"safari":{"3.1":"n","3.2":"n","4":"a x","5":"a x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a x","11.5":"a x","11.6":"y x","12":"y x","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"a x","11.5":"a x","12":"y x"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"y x"}},"notes":"Partial support in Safari/Chrome refers to requiring an outdated gradient syntax to work. Partial support in Opera 11.10 refers to only having support for linear gradients. Support can be somewhat emulated in older IE versions using the non-standard \"gradient\" filter.","usage_perc_y":52.72,"usage_perc_a":4.8,"keywords":"linear,linear-gradient,gradiant","detection_pattern":"(linear|radial)-gradient\\(.*\\)","id":"css-gradients"},{"title":"CSS Grid Layout","description":"Method of using a grid concept to lay out content, providing a mechanism for authors to divide available space for lay out into columns and rows using a set of predictable sizing behaviors","spec":"http://www.w3.org/TR/css3-grid-layout/","status":"wd","links":[],"categories":["CSS"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":0.01,"usage_perc_a":0,"keywords":"grids,grid-row,grid-column","detection_pattern":"display:s*grids*;","id":"css-grid"},{"title":"CSS Hyphenation","description":"Method of controlling when words at the end of lines should be hyphenated using the \"hyphens\" property.","spec":"http://www.w3.org/TR/css3-text/#hyphenation","status":"wd","links":[{"url":"https://developer.mozilla.org/en/CSS/hyphens","title":"MDN article"},{"url":"http://blog.fontdeck.com/post/9037028497/hyphens","title":"Blog post"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Chrome and Android 4.0 Browser support \"-webkit-hyphens: none\", but not the \"auto\" property.","usage_perc_y":21.92,"usage_perc_a":0,"keywords":"hyphen,shy","detection_pattern":"hyphens\\:","id":"css-hyphens"},{"title":"CSS Masks","description":"Method of displaying part of an element, using a selected image as a mask","spec":"http://webkit.org/blog/181/css-masks/","status":"unoff","links":[{"url":"http://webkit.org/blog/181/css-masks/","title":"Webkit blog post"}],"categories":["CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"n","4":"y x"}},"notes":"Proposal by Webkit, being considered for W3C standardization.","usage_perc_y":34.01,"usage_perc_a":0,"id":"css-masks"},{"title":"CSS3 Media Queries","description":"Method of applying styles based on media information. Includes things like page and device dimensions","spec":"http://www.w3.org/TR/css3-mediaqueries/","status":"cr","links":[{"url":"http://ie.microsoft.com/testdrive/HTML5/85CSS3_MediaQueries/","title":"IE demo page with information"},{"url":"http://webdesignerwall.com/tutorials/responsive-design-with-css3-media-queries","title":"Media Queries tutorial"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Incomplete support by older webkit browsers refers to only acknowledging different media rules on page reload","usage_perc_y":70.46,"usage_perc_a":0.02,"keywords":"@media","id":"css-mediaqueries"},{"title":"CSS3 Opacity","description":"Method of setting the transparency level of an element","spec":"http://www.w3.org/TR/css3-color/","status":"rec","links":[{"url":"http://www.css3files.com/color/#opacity","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"a","6":"a","7":"a","8":"a","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Transparency for elements in IE8 and older can be achieved using the proprietary \"filter\" property and does not work well with PNG images using alpha transparency.","usage_perc_y":70.93,"usage_perc_a":23.81,"keywords":"transparent,transparency,alpha","detection_pattern":"opacity\\:","id":"css-opacity"},{"title":"CSS Reflections","description":"Method of displaying a reflection of an element","spec":"http://webkit.org/blog/182/css-reflections/","status":"unoff","links":[{"url":"http://webkit.org/blog/182/css-reflections/","title":"Webkit blog post"}],"categories":["CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"}},"notes":"Proposal by Webkit, being considered for W3C standardization. Similar effect can be achieved in Firefox 4+ using the -moz-element() background property","usage_perc_y":34.07,"usage_perc_a":0,"keywords":"box-reflect","id":"css-reflections"},{"title":"CSS Regions","description":"Method of flowing content into multiple elements.","spec":"http://www.w3.org/TR/css3-regions/","status":"wd","links":[{"url":"http://labs.adobe.com/downloads/cssregions.html","title":"Adobe prototype build & samples"},{"url":"http://msdn.microsoft.com/en-us/ie/hh272902#_CSSConnected","title":"IE10 developer guide info"}],"categories":["CSS3"],"stats":{"ie":{"10":"a x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Currently supported in WebKit using -webkit-flow: \"flow_name\"; and content: -webkit-from-flow(\"flow_name\"); Supported in IE10 using an iframe with -ms-flow-into: flow_name; and -ms-flow-from: flow_name;","usage_perc_y":0,"usage_perc_a":24.41,"detection_pattern":"flow-(into|from)\\:|@region","id":"css-regions"},{"title":"CSS 2.1 selectors","description":"Allows more accurate element selecting, using >, +, [attr], :first-child, etc.","spec":"http://www.w3.org/TR/CSS21/selector.html","status":"rec","links":[{"url":"http://www.quirksmode.org/css/contents.html","title":"Detailed support information"},{"url":"http://www.yourhtmlsource.com/stylesheets/advancedselectors.html","title":"Examples of advanced selectors"},{"url":"http://selectivizr.com","title":"Selectivizr: Polyfill for IE6-8"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":93.3,"usage_perc_a":0,"keywords":"child selector,:hover","id":"css-sel2"},{"title":"CSS3 selectors","description":"Advanced element selection using selectors like :nth-child(), :last-child, :first-of-type, etc.","spec":"http://www.w3.org/TR/css3-selectors/","status":"rec","links":[{"url":"http://www.quirksmode.org/css/contents.html","title":"Detailed support information"},{"url":"http://www.css3.info/selectors-test/","title":"Automated CSS3 selector test"},{"url":"http://selectivizr.com","title":"Selectivizr: Polyfill for IE6-8"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":70.47,"usage_perc_a":0,"keywords":":target,:not","id":"css-sel3"},{"title":"CSS Table display","description":"Method of displaying elements as tables, rows, and cells","spec":"http://www.w3.org/TR/CSS21/tables.html","status":"rec","links":[{"url":"http://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/","title":"Detailed article on usage"},{"url":"http://www.onenaught.com/posts/201/use-css-displaytable-for-layout","title":"Blog post on usage"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":89.98,"usage_perc_a":0,"keywords":"display:table, display: table,table-cell,table-row,table-layout","id":"css-table"},{"title":"CSS3 Text-shadow","description":"Method of applying one or more shadow or blur effects to text","spec":"http://www.w3.org/TR/css3-text/#text-shadow","status":"wd","links":[{"url":"http://hacks.mozilla.org/2009/06/text-shadow/","title":"Mozilla hacks article"},{"url":"http://ie.microsoft.com/testdrive/Graphics/hands-on-css3/hands-on_text-shadow.htm","title":"Live editor"},{"url":"http://www.css3files.com/shadow/#textshadow","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"a"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Opera Mini ignores the blur-radius set, so no blur effect is visible. Text-shadow behavior can be somewhat emulated in older IE versions using the non-standard \"dropshadow\" or \"glow\" filters. ","usage_perc_y":58.05,"usage_perc_a":1.96,"detection_pattern":"text-shadow\\:","id":"css-textshadow"},{"title":"CSS3 Transitions","description":"Simple method of animating certain properties of an element","spec":"http://www.w3.org/TR/css3-transitions/","status":"wd","links":[{"url":"http://www.webdesignerdepot.com/2010/01/css-transitions-101/","title":"Article on usage"},{"url":"http://www.css3files.com/transition/","title":"Information page"},{"url":"http://www.the-art-of-web.com/css/timing-function/","title":"Examples on timing functions"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"y x","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y x","11":"y x","11.1":"y x","11.5":"y x","12":"y x"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"}},"notes":"","usage_perc_y":54.12,"usage_perc_a":0,"keywords":"css transition","detection_pattern":"transition(-(property|duration|timing-function|delay))?\\:","id":"css-transitions"},{"title":"CSS3 Box-sizing","description":"Method of specifying whether or not an element's borders and padding should be included in size units","spec":"http://www.w3.org/TR/css3-ui/#box-sizing","status":"cr","links":[{"url":"https://developer.mozilla.org/En/CSS/Box-sizing","title":"MDN article"},{"url":"http://www.456bereastreet.com/archive/201104/controlling_width_with_css3_box-sizing/","title":"Blog post"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y"}},"notes":"","usage_perc_y":89.98,"usage_perc_a":0,"keywords":"border-box,content-box","detection_pattern":"box-sizing\\:","id":"css3-boxsizing"},{"title":"CSS3 Colors","description":"Method of describing colors using Hue, Saturation and Lightness (hsl()) rather than just RGB, as well as allowing alpha-transparency with rgba() and hsla().","spec":"http://www.w3.org/TR/css3-color/","status":"rec","links":[{"url":"http://dev.opera.com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-transparency/","title":"Dev.Opera article"},{"url":"http://www.zenelements.com/blog/css3-rgb-rgba-color-opacity/","title":"Guide to RGB & RGBA"},{"url":"http://www.zenelements.com/blog/css3-hsl-hsla-color-opacity/","title":"Guide to HSL & HSLA"},{"url":"http://www.css3files.com/color/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"a"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":70.81,"usage_perc_a":0.12,"keywords":"rgb,hsl,rgba,hsla","detection_pattern":"(hsla?|rgba)\\(.*\\)","id":"css3-colors"},{"title":"Datalist element","description":"Method of setting a list of options for a user to select in a text field, while leaving the ability to enter a custom value.","spec":"http://www.w3.org/TR/html5/the-button-element.html#the-datalist-element","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/","title":"Mozilla Hacks article"},{"url":"http://afarkas.github.com/webshim/demos/","title":"HTML5 Library including datalist support"},{"url":"https://developer.mozilla.org/en/HTML/Element/datalist","title":"MDN reference"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"p"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"u","19":"u","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"u"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5":"p"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p"}},"notes":"","usage_perc_y":20.08,"usage_perc_a":0,"parent":"forms","keywords":"list attribute","detection_pattern":"<datalist.*>.*<\\/datalist>","id":"datalist"},{"title":"dataset & data-* attributes","description":"Method of applying and accessing custom data to elements.","spec":"http://www.w3.org/TR/html5/elements.html#embedding-custom-non-visible-data-with-the-data-attributes","status":"wd","links":[{"url":"http://html5doctor.com/html5-custom-data-attributes/","title":"HTML5 Doctor article"},{"url":"http://www.orangesoda.net/jquery.dataset.html","title":"jQuery polyfill for dataset support"},{"url":"http://html5demos.com/dataset","title":"Demo using dataset"}],"categories":["HTML5"],"stats":{"ie":{"10":"a","5.5":"a","6":"a","7":"a","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","2":"a","3":"a","3.5":"a","3.6":"a","4":"a","5":"a","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"a","5":"a","6":"a","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"a","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5":"y"},"op_mini":{"5.0-6.0":"a"},"op_mob":{"10":"a","11":"a","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"y","4":"y"}},"notes":"All browsers can already use data-* attributes and access them using getAttribute. \"Supported\" refers to accessing the values using the dataset property.","usage_perc_y":48.54,"usage_perc_a":46.2,"keywords":"DOMStringMap","detection_pattern":"<[a-zA-Z][a-zA-Z0-9]*\\s(.*)data-[a-zA-Z]([a-zA-Z0-9]|-[a-zA-Z])*\\s*=.*>","id":"dataset"},{"title":"Data URLs","description":"Method of embedding images and other files in webpages as a string of text","spec":"http://www.ietf.org/rfc/rfc2397.txt","status":"other","links":[{"url":"http://css-tricks.com/5970-data-uris/","title":"Information page"},{"url":"http://en.wikipedia.org/wiki/data_URI_scheme","title":"Wikipedia"},{"url":"http://www.websiteoptimization.com/speed/tweak/inline-images/","title":"Data URL converter"}],"categories":["Other"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Support in Internet Explorer 8 is limited to images and linked resources like CSS files, not HTML files. Max URI length is 32KB. In IE9 JavaScript files are supported too and the maximum size limit set to 4GB.","usage_perc_y":60.45,"usage_perc_a":29.53,"keywords":"datauris,data uri,dataurl,dataurls","detection_pattern":"data\\:","id":"datauri"},{"title":"Details & Summary elements","description":"The &lt;details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child &lt;summary> element.","spec":"http://www.w3.org/TR/html5/interactive-elements.html#the-details-element","status":"wd","links":[{"url":"http://html5doctor.com/summary-figcaption-element/","title":"HTML5 Doctor article"},{"url":"https://gist.github.com/370590","title":"Fallback script"},{"url":"http://mathiasbynens.be/notes/html5-details-jquery","title":"jQuery fallback script"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"p","11":"u","12":"u","2":"n","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"chrome":{"10":"p","11":"p","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"u"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5":"p"},"op_mini":{"5.0-6.0":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"y"}},"notes":"","usage_perc_y":25.15,"usage_perc_a":0,"detection_pattern":"<details.*>.*<\\/details>","id":"details"},{"title":"Device Orientation events","description":"API for detecting orientation and motion events from the device running the browser.","spec":"http://www.w3.org/TR/orientation-event/","status":"wd","links":[{"url":"http://www.html5rocks.com/en/tutorials/device/orientation/","title":"HTML5 Rocks tutorial"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a","11":"a","12":"a","2":"n","3":"n","3.5":"n","3.6":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"n","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"Firefox 3.6, 4 and 5 support the non-standard <a href=\"https://developer.mozilla.org/en/DOM/MozOrientation\">MozOrientation</a> event. Firefox 6+ claims support, but does not appear to work where Chrome does (tested on macbook pro).","usage_perc_y":27.61,"usage_perc_a":21.81,"detection_pattern":"deviceorientation|devicemotion|compassneedscalibration","id":"deviceorientation"},{"title":"Drag and Drop","description":"Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dnd","status":"wd","links":[{"url":"http://html5doctor.com/native-drag-and-drop/","title":"HTML5 Doctor article"},{"url":"http://nettutsplus.s3.amazonaws.com/64_html5dragdrop/demo/index.html","title":"Shopping cart demo"},{"url":"http://html5demos.com/drag","title":"Demo with link blocks"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"y","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"y","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":86.75,"usage_perc_a":0,"keywords":"draganddrop","detection_pattern":"draggable|dragstart|dragover|dragenter|dragleave|dragend","id":"dragndrop"},{"title":"EOT - Embedded OpenType fonts","description":"Type of font that can be derived from a regular font, allowing small files and legal use of high-quality fonts. Usage is restricted by the file being tied to the website","spec":"http://www.w3.org/Submission/EOT/","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/Embedded_OpenType","title":"Wikipedia"},{"url":"http://www.microsoft.com/typography/web/embedding/default.aspx","title":"Example pages"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"n","11":"n","12":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Proposal by Microsoft, being considered for W3C standardization.","usage_perc_y":34.28,"usage_perc_a":0,"parent":"fontface","detection_pattern":"\\.eot","id":"eot"},{"title":"Server-sent DOM events","description":"Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)","spec":"http://www.w3.org/TR/eventsource/","status":"wd","links":[{"url":"http://www.html5rocks.com/tutorials/eventsource/basics/","title":"HTML5 Rocks tutorial"},{"url":"http://samshull.blogspot.com/2010/10/ajax-push-in-ios-safari-and-chrome-with.html","title":"Blog post with demo"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"a","9.5-9.6":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"a","11":"a","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":50.66,"usage_perc_a":0.11,"keywords":"serversent,s-sent-events","detection_pattern":"new\\s+EventSource","id":"eventsource"},{"title":"File API","description":"Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data.","spec":"http://www.w3.org/TR/FileAPI/","status":"wd","links":[{"url":"https://developer.mozilla.org/en/Using_files_from_web_applications","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a","11":"a","12":"a","2":"n","3":"n","3.5":"n","3.6":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"a","11":"a","12":"a","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a","11.5":"a","11.6":"a","12":"a","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"a","11.5":"a","12":"a"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a","4":"a"}},"notes":"Microsoft is currently <a href=\"http://html5labs.interoperabilitybridges.com/html5labs/prototypes/fileapi/fileapi/info/\">experimenting</a> with the technology. Partial support in Safari refers to lacking FileReader support.","usage_perc_y":24.93,"usage_perc_a":27.26,"keywords":"FileReader","detection_pattern":"(new\\s+FileReader|\\.readAs(ArrayBuffer|BinaryString|Text|DataURL))","id":"fileapi"},{"title":"FileReader API","description":"Method of reading the contents of a File or Blob object into memory","spec":"http://www.w3.org/TR/FileAPI/#dfn-filereader","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/FileReader","title":"FileReader API"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"","usage_perc_y":49.28,"usage_perc_a":0,"parent":"fileapi","detection_pattern":"new\\s+FileReader","id":"filereader"},{"title":"Filesystem & FileWriter API","description":"Method of reading and writing files to a sandboxed file system.\r\n","spec":"http://www.w3.org/TR/file-system-api/","status":"wd","links":[{"url":"http://www.html5rocks.com/en/tutorials/file/filesystem/","title":"HTML5 Rocks tutorial"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"n","5":"n","6":"n","7":"n","8":"a x","9":"a x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":24.93,"usage_perc_a":0.67,"parent":"fileapi","keywords":"filewriter","detection_pattern":"(webkitR|r)equestFileSystem","id":"filesystem"},{"title":"Flexible Box Layout Module","description":"Method of positioning elements in horizontal or vertical stacks.","spec":"http://www.w3.org/TR/css3-flexbox/","status":"wd","links":[{"url":"http://www.the-haystack.com/2010/01/23/css3-flexbox-part-1/","title":"Introduction with demos"},{"url":"http://hacks.mozilla.org/2010/04/the-css-3-flexible-box-model/","title":"Mozilla hacks article"},{"url":"http://ie.microsoft.com/testdrive/HTML5/Flexin/Default.html","title":"Demo working in IE10"},{"url":"http://flexiejs.com/playground/","title":"Flexbox playground"}],"categories":["CSS3"],"stats":{"ie":{"10":"a x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","2":"a x","3":"a x","3.5":"a x","3.6":"a x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"y x","18":"y x","19":"y x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"safari":{"3.1":"a x","3.2":"a x","4":"a x","5":"a x","5.1":"a x","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5":"a x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"a x"}},"notes":"Partial support refers to supporting an <a href=\"http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/\">older version</a> of the specification.","usage_perc_y":0.43,"usage_perc_a":56.31,"keywords":"flex","detection_pattern":"display\\:\\s*(inline-)?flexbox","id":"flexbox"},{"title":"Font feature settings","description":"Method of applying advanced typographic and language-specific font features to supported OpenType fonts.","spec":"http://w3.org/TR/css3-fonts/#font-rend-props","status":"wd","links":[{"url":"http://ie.microsoft.com/testdrive/Graphics/opentype/","title":"Demo pages (IE/Firefox only)"},{"url":"http://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/","title":"Mozilla hacks article"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","2":"n","3":"n","3.5":"n","3.6":"n","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"a x","17":"a x","18":"a x","19":"a x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Partial support in Firefox refers to using an older syntax. Partial support in Chrome refers to lacking support in Mac OS X. ","usage_perc_y":0.01,"usage_perc_a":42.32,"keywords":"font-feature,font-feature-settings,kern,kerning,font-variant-alternates,ligatures,font-variant-ligatures","detection_pattern":"font-(kerning|feature-settings|variant(-(position|ligatures|caps|numeric|alternates|east-asian))?)\\:","id":"font-feature"},{"title":"@font-face Web fonts","description":"Method of displaying fonts downloaded from websites","spec":"http://www.w3.org/TR/css3-webfonts/","status":"wd","links":[{"url":"http://webfonts.info","title":"News and information site"},{"url":"http://opentype.info/blog/category/webfonts/","title":"Blog on web fonts & typography"},{"url":"http://en.wikipedia.org/wiki/Web_typography","title":"Wikipedia"},{"url":"http://www.css3files.com/font/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"a","6":"a","7":"a","8":"a","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"a","2.3":"a","3":"a","4":"y"}},"notes":"Partial support before IE9 refers to only supporting EOT fonts. Safari for iOS 4.1 and below only supports SVG fonts.","usage_perc_y":66.55,"usage_perc_a":25.61,"keywords":"font face","detection_pattern":"@font-face\\s*\\{","id":"fontface"},{"title":"Form validation","description":"Method of setting required fields and field types without requiring JavaScript","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#client-side-form-validation","status":"wd","links":[],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Partial support in Safari refers to lack of notice when form with required fields is attempted to be submitted.","usage_perc_y":45.5,"usage_perc_a":4.15,"parent":"forms","detection_pattern":"<input.*(required|pattern=['\"].*['\"]).*(\\/>|>.*<\\/input>)","id":"form-validation"},{"title":"HTML5 form features","description":"Expanded form options, including things like date pickers, sliders, validation, placeholders and multiple file uploads. Previously known as \"Web forms 2.0\".","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html","status":"wd","links":[{"url":"http://www.miketaylr.com/code/input-type-attr.html","title":"HTML5 inputs and attribute support page"},{"url":"https://github.com/westonruter/webforms2","title":"Cross-browser JS implementation (based on original spec)"}],"categories":["HTML5"],"stats":{"ie":{"10":"a","5.5":"n","6":"p","7":"p","8":"p","9":"p"},"firefox":{"10":"a","11":"a","12":"a","2":"p","3":"p","3.5":"p","3.6":"p","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"p","3.2":"p","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"a","4.2-4.3":"a","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Opera <= 11.50 has almost complete support, but does not support placeholder on textarea fields. Currently file uploading is not possible on iOS Safari.\r\n","usage_perc_y":2.92,"usage_perc_a":49.34,"keywords":"input,datepicker","id":"forms"},{"title":"Full Screen API","description":"API for allowing content (like a video or canvas element) to take up the entire screen.","spec":"http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html","status":"unoff","links":[{"url":"https://developer.mozilla.org/en/DOM/Using_full-screen_mode","title":"MDN article"},{"url":"http://jlongster.com/2011/11/21/canvas.html","title":"Blog post"},{"url":"http://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers/","title":"Mozilla hacks article"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a x","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Partial support refers to supporting an earlier draft of the spec.","usage_perc_y":0,"usage_perc_a":27.69,"keywords":"full-screen","detection_pattern":"[rR]equestFull[sS]creen|[cC]ancelFullScreen|exitFullscreen|fullscreeneventchange","id":"fullscreen"},{"title":"Geolocation","description":"Method of informing a website of the user's geographical location","spec":"http://www.w3.org/TR/geolocation-API/","status":"cr","links":[],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"a","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":68.21,"usage_perc_a":0.07,"detection_pattern":"navigator\\.geolocation","id":"geolocation"},{"title":"getElementsByClassName","description":"Method of accessing DOM elements by class name","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#dom-document-getelementsbyclassname","status":"wd","links":[{"url":"http://www.quirksmode.org/dom/tests/basics.html#getElementsByClassName","title":"Test page"}],"categories":["DOM","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":70.84,"usage_perc_a":0,"keywords":"byclassname","detection_pattern":"getElementsByClassName\\s*\\(.*\\)","id":"getelementsbyclassname"},{"title":"Hashchange event","description":"Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar) ","spec":"http://www.w3.org/TR/html5/history.html#event-hashchange","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/window.onhashchange","title":"MDN article"},{"url":"http://www.quirksmode.org/dom/events/tests/hashchange.html","title":"Simple demo"},{"url":"http://msdn.microsoft.com/en-us/library/cc288209(VS.85).aspx","title":"MSDN article"}],"categories":["JS API","HTML5"],"stats":{"ie":{"10":"y","5.5":"p","6":"p","7":"p","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"p","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"p","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":86.65,"usage_perc_a":0,"keywords":"onhashchange,HashChangeEvent","detection_pattern":"\\.(onhashchange|addEventListener\\s*\\(\\s*['\"]hashchange['\"].*\\))","id":"hashchange"},{"title":"Session history management","description":"Method of manipulating the user's browser's session history in JavaScript using history.pushState, history.replaceState and the popstate event","spec":"http://www.w3.org/TR/html5/history.html","status":"wd","links":[{"url":"http://www.adequatelygood.com/2010/7/Saner-HTML5-History-Management","title":"Introduction to history management"},{"url":"https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history","title":"MDN article"},{"url":"http://html5demos.com/history","title":"Demo page"},{"url":"https://github.com/balupton/history.js","title":"History.js polyfill "}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"n","4":"n"}},"notes":"Older iOS versions claim support, but implementation is too buggy to be useful. Partial support in other Safaris refers to other buggy behavior.","usage_perc_y":48.47,"usage_perc_a":4.89,"keywords":"onpushstate,onreplacestate","detection_pattern":"history\\.(back|forward|go|pushState|replaceState)","id":"history"},{"title":"New semantic elements","description":"HTML5 offers some new elements, primarily for semantic purposes. The elements include: section, article, aside, hgroup, header, footer, nav, figure, figcaption, time, mark.","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#sections","status":"wd","links":[{"url":"http://blog.whatwg.org/supporting-new-elements-in-ie","title":"Workaround for IE"},{"url":"http://blog.whatwg.org/styling-ie-noscript","title":"Alternate workaround"},{"url":"http://oli.jp/2009/html5-structure3/","title":"Article on structural elements"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"a","3.5":"a","3.6":"a","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"a","5":"a","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"a","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"a"},"op_mob":{"10":"a","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"a","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Partial support refers to missing the default styling. This is easily taken care of by using display:block for all new elements (except time and mark, these should be display:inline anyway).","usage_perc_y":63.93,"usage_perc_a":6.91,"id":"html5semantic"},{"title":"IndexedDB","description":"Method of storing data client-side, allows indexed database queries. Previously known as WebSimpleDB API.","spec":"http://www.w3.org/TR/IndexedDB/","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/","title":"Mozilla Hacks article"}],"categories":["JS API"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"n","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Microsoft is currently <a href=\"http://html5labs.interoperabilitybridges.com/html5labs/prototypes/indexeddb/indexeddb/info/\">experimenting</a> with the technology.","usage_perc_y":43.6,"usage_perc_a":0,"keywords":"indexdb","detection_pattern":"IndexedDB|IDB(Cursor|Database|Environment|Factory|Index|KeyRange|ObjectStore|OpenDBRequest|Request|Transaction|VersionChangeEvent)","id":"indexeddb"},{"title":"CSS inline-block","description":"Method of displaying an element as a block while flowing it with text. ","spec":"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning","status":"rec","links":[{"url":"http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/","title":"Blog post w/info"},{"url":"http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/","title":"Info on cross browser support"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"a","6":"a","7":"a","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"a x","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Only supported in IE6 and IE7 on elements with a display of \"inline\" by default. <a href=\"http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/\">Alternative properties</a> are available to provide complete cross-browser support.","usage_perc_y":89.89,"usage_perc_a":4.85,"keywords":"inlineblock","detection_pattern":"display\\:\\s*inline-block","id":"inline-block"},{"title":"Color input type","description":"Form field allowing the user to select a color.","spec":"http://www.w3.org/TR/html5/number-state.html#color-state","status":"wd","links":[{"url":"http://www.html5tutorial.info/html5-color.php","title":"Tutorial"},{"url":"https://github.com/jonstipe/color-polyfill","title":"Polyfill"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":1.68,"usage_perc_a":0,"parent":"forms","keywords":"colour","detection_pattern":"<input\\s.*type=['\"]?color['\"]?.*(\\/>|>.*<\\/input>)","id":"input-color"},{"title":"Date/time input types","description":"Form field widget to easily allow users to enter dates and/or times, generally by using a calendar widget.","spec":"http://www.w3.org/TR/html5/states-of-the-type-attribute.html#date-and-time-state","status":"wd","links":[{"url":"http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-cross-browser-datepickers-within-minutes/","title":"Datepicker tutorial w/polyfill"},{"url":"https://github.com/zoltan-dulac/html5Widgets","title":"Polyfill for HTML5 forms"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Chrome and Safari provide date-formatted text fields, but no real calendar widget.","usage_perc_y":2.92,"usage_perc_a":0,"parent":"forms","keywords":"datepicker,timepicker","detection_pattern":"<input\\s.*type=['\"]?(date|time|datetime(-local)?|month|week)['\"]?.*(\\/>|>.*<\\/input>)","id":"input-datetime"},{"title":"Number input type","description":"Form field type for numbers.","spec":"http://www.w3.org/TR/html5/number-state.html","status":"wd","links":[{"url":"http://www.html5tutorial.info/html5-number.php","title":"Tutorial"},{"url":"https://github.com/jonstipe/number-polyfill","title":"Polyfill"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"u","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5":"a"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a"}},"notes":"iOS Safari and Android 4 show number input, but do not use \"step\", \"min\" or \"max\" attributes or show increment/decrement buttons.","usage_perc_y":31.59,"usage_perc_a":2.03,"parent":"forms","keywords":"spinner","detection_pattern":"<input\\s.*type=['\"]?number['\"]?.*(\\/>|>.*<\\/input>)","id":"input-number"},{"title":"Range input type","description":"Form field type that allows the user to select a value using a slider widget.","spec":"http://www.w3.org/TR/html5/number-state.html#range-state","status":"wd","links":[{"url":"https://github.com/fryn/html5slider","title":"Polyfill for Firefox"},{"url":"https://github.com/freqdec/fd-slider","title":"Cross-browser polyfill"},{"url":"http://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input/","title":"Tutorial"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"u","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a"}},"notes":"Currently all Android browsers hide the slider input field by default. However, the element <a href=\"http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/\">can be styled</a> to be made visible and usable.","usage_perc_y":33.11,"usage_perc_a":1.82,"parent":"forms","detection_pattern":"<input\\s.*type=['\"]?range['\"]?.*(\\/>|>.*<\\/input>)","id":"input-range"},{"title":"JSON parsing","description":"Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON.stringify() and JSON.parse()","spec":"http://es5.github.com/#x15.12","status":"other","links":[{"url":"https://developer.mozilla.org/En/Using_native_JSON","title":"MDN article"},{"url":"http://www.json.org/js.html","title":"JSON in JS (includes script w/support)"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Requires document to be in IE8+ <a href=\"http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx\">standards mode</a> to work in IE8.","usage_perc_y":89.4,"usage_perc_a":0,"id":"json"},{"title":"matchesSelector","description":"Method of testing whether or not a DOM element matches a given selector.","spec":"http://www.w3.org/TR/selectors-api2/","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector","title":"MDN article"}],"categories":["JS API","DOM"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"y x"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"y x","11.6":"y x","12":"y x","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"y x","11.5":"y x","12":"y x"},"android":{"2.1":"n","2.2":"y x","2.3":"y x","3":"y x","4":"y x"}},"notes":"","usage_perc_y":67.56,"usage_perc_a":0,"detection_pattern":"((moz|webkit|o|ms)M|m)atchesSelector","id":"matchesselector"},{"title":"matchMedia","description":"API for finding out whether or not a media query applies to the document.","spec":"http://www.w3.org/TR/cssom-view/#dom-window-matchmedia","status":"wd","links":[{"url":"https://github.com/paulirish/matchMedia.js/","title":"matchMedia.js polyfill"},{"url":"https://developer.mozilla.org/en/DOM/window.matchMedia","title":"MDN article"},{"url":"https://developer.mozilla.org/en/CSS/Using_media_queries_from_code","title":"MDN tutorial"}],"categories":["JS API","DOM"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"n","7":"n","8":"n","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"","usage_perc_y":46.77,"usage_perc_a":0,"keywords":"mediaquerylist","detection_pattern":".matchMedia\\s*\\(.*\\)","id":"matchmedia"},{"title":"MathML","description":"An XML language that allows mathematical formulas and notations to be written on web pages.","spec":"http://www.w3.org/TR/REC-MathML/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/MathML","title":"Wikipedia"},{"url":"http://www.mozilla.org/projects/mathml/demo/","title":"MathML demos"},{"url":"http://golem.ph.utexas.edu/~distler/blog/archives/001588.html","title":"Info on Opera's MathML support"},{"url":"http://www.mathjax.org","title":"Cross-browser support script"},{"url":"https://developer.mozilla.org/en/MathML/Element","title":"MDN element reference"}],"categories":["Other"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"u","19":"u","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","9":"n","9.5-9.6":"a"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5":"y"},"op_mini":{"5.0-6.0":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p"}},"notes":"Opera's support is limited to a CSS profile of MathML. Expected to be supported in an upcoming version of Chrome, as support is available in Webkit builds.","usage_perc_y":26.7,"usage_perc_a":1.74,"detection_pattern":"<math.*>.*<\\/math>","id":"mathml"},{"title":"Toolbar/context menu","description":"Method of defining a toolbar menu, a context menu or a list of (interactive) options using the &lt;menu> element.","spec":"http://www.w3.org/TR/html5/interactive-elements.html#menus","status":"wd","links":[{"url":"https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309","title":"Demo"},{"url":"http://addyosmani.github.com/jQuery-contextMenu/","title":"jQuery polyfill"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a","11":"a","12":"a","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"a","9":"a"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Partial support in Firefox refers to using the non-standard \"menuitem\" child elements, where the current spec uses \"<a href=\"http://www.w3.org/TR/html5/interactive-elements.html#the-command-element\">command</a>\" child elements. It is also currently limited to context menus, not toolbar menus.","usage_perc_y":0,"usage_perc_a":15.82,"keywords":"contextmenu,menuitem,command","detection_pattern":"<menu.*>.*<\\/menu>","id":"menu"},{"title":"CSS min/max-width/height","description":"Method of setting a minimum or maximum width or height to an element. ","spec":"http://www.w3.org/TR/CSS21/visudet.html#min-max-widths","status":"rec","links":[{"url":"http://reference.sitepoint.com/css/dimensions","title":"Sitepoint reference"},{"url":"http://code.google.com/p/ie7-js/","title":"JS library with support"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"p","6":"p","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"IE7 does not support \"inherit\" as a value on any of these properties. IE8 has some bugs with max-width/height combined with overflow: auto/scroll.","usage_perc_y":93.3,"usage_perc_a":0,"keywords":"min-width,min-height,max-width,max-height","detection_pattern":"(min|max)-width\\:","id":"minmaxwh"},{"title":"MPEG-4/H.264 video format","description":"Commonly used video compression format (not royalty-free)","spec":"http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC","title":"Wikipedia article"},{"url":"http://www.interoperabilitybridges.com/html5-extension-for-wmp-plugin","title":"Firefox extension allowing support in Win7"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"n","11":"n","12":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a"}},"notes":"Support in Chrome may <a href=\"http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html\">be dropped</a> in some upcoming version. The Android 2.3 browser currently requires <a href=\"http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/\">specific handling</a> to play videos. Firefox and Opera have both stated that they will not support the format.","usage_perc_y":42.74,"usage_perc_a":1.82,"parent":"video","keywords":"avc,mp4,mpv,mov,aac","id":"mpeg4"},{"title":"CSS3 Multiple backgrounds","description":"Method of using multiple images as a background","spec":"http://www.w3.org/TR/css3-background/","status":"cr","links":[{"url":"http://www.css3.info/preview/multiple-backgrounds/","title":"Demo & information page"},{"url":"http://www.css3files.com/background/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":70.05,"usage_perc_a":0,"detection_pattern":"background-image\\:\\s*url\\(['\"]?.*['\"]?\\)\\s*(,\\s*url\\(['\"]?.*['\"]?\\)\\s*)+","id":"multibackgrounds"},{"title":"CSS3 Multiple column layout","description":"Method of flowing information in multiple columns","spec":"http://www.w3.org/TR/css3-multicol/","status":"cr","links":[{"url":"http://dev.opera.com/articles/view/css3-multi-column-layout/","title":"Dev.Opera article"},{"url":"http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/an-introduction-to-the-css3-multiple-column-layout-module/","title":"Introduction page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"}},"notes":"","usage_perc_y":58.37,"usage_perc_a":0,"keywords":"column-count","id":"multicolumn"},{"title":"Web Storage - name/value pairs","description":"Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5).","spec":"http://www.w3.org/TR/webstorage/#storage","status":"wd","links":[{"url":"https://developer.mozilla.org/En/DOM/Storage","title":"Gecko reference"},{"url":"http://code.google.com/p/sessionstorage/","title":"Support library"},{"url":"http://html5demos.com/storage","title":"Simple demo"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"a","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":87.52,"usage_perc_a":0.45,"keywords":"webstorage,local storage","detection_pattern":"localStorage|sessionStorage","id":"namevalue-storage"},{"title":"Navigation Timing API","description":"API for accessing timing information related to navigation and elements.","spec":"http://www.w3.org/TR/navigation-timing/","status":"cr","links":[{"url":"https://developer.mozilla.org/en/API/navigationTiming","title":"MDN article"},{"url":"http://www.html5rocks.com/en/tutorials/webperformance/basics/","title":"HTML5 Rocks tutorial"}],"categories":["JS API","DOM"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"y","8":"y","9":"y"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y"}},"notes":"","usage_perc_y":52.77,"usage_perc_a":0,"keywords":"performance,performance.timing","detection_pattern":"window\\.performance","id":"nav-timing"},{"title":"Web Notifications","description":"Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).","spec":"http://www.w3.org/TR/notifications/","status":"wd","links":[{"url":"http://www.html5rocks.com/tutorials/notifications/quick/","title":"HTML5 Rocks tutorial"},{"url":"http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification","title":"Chromium API"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Supported in Chrome through the webkitNotifications property and in Firefox nightlies through the mozNotifications property. May slip to a later version in Firefox.","usage_perc_y":25.84,"usage_perc_a":0,"detection_pattern":"create(HTML)?Notification","id":"notifications"},{"title":"CSS3 object-fit/object-position","description":"Method of specifying how an object (image or video) should fit inside its box. object-fit options include \"contain\" (fit according to aspect ratio), \"fill\" (stretches object to fill) and \"cover\" (overflows box but maintains ratio), where object-position allows the object to be repositioned like background-image does.","spec":"http://www.w3.org/TR/css3-images/","status":"wd","links":[{"url":"http://dev.opera.com/articles/view/css3-object-fit-object-position/","title":"Dev.Opera article"}],"categories":["CSS3"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y x","11.1":"y x","11.5":"y x","12":"y x"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":1.71,"usage_perc_a":0,"keywords":"objectfit,objectposition","detection_pattern":"object-fit\\:","id":"object-fit"},{"title":"Offline web applications","description":"Method of defining web page files to be cached using a cache manifest file, allowing them to work offline on subsequent visits to the page","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html","status":"wd","links":[{"url":"http://www.sitepoint.com/blogs/2010/02/12/offline-web-application-tutorial/","title":"Sitepoint tutorial"},{"url":"http://diveinto.org/html5/offline.html","title":"Dive Into HTML5 article"},{"url":"http://hacks.mozilla.org/2010/01/offline-web-applications/","title":"Mozilla Hacks article/demo"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":57.98,"usage_perc_a":0.36,"keywords":"appcache,app cache,application cache,online","detection_pattern":"<html.*\\smanifest=.*>","id":"offline-apps"},{"title":"Ogg/Theora video format","description":"Free lossy video compression format.","spec":"http://theora.org/doc/","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/Theora","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"10":"u p","5.5":"n","6":"n","7":"n","8":"n","9":"p"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":49.83,"usage_perc_a":0,"parent":"video","keywords":"xiph","id":"ogv"},{"title":"PNG alpha transparency","description":"Semi-transparent areas in PNG files","spec":"http://www.w3.org/TR/PNG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Portable_Network_Graphics","title":"Wikipedia"},{"url":"http://dillerdesign.com/experiment/DD_belatedPNG/","title":"Workaround for IE6"}],"categories":["PNG"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 32-bit PNGs.","usage_perc_y":93.3,"usage_perc_a":0,"id":"png-alpha"},{"title":"pointer-events (for HTML)","description":"This CSS property, when set to \"none\" allows elements to not receive hover/click events, instead the event will occur on anything behind it. ","spec":"http://dev.w3.org/csswg/css3-ui/#pointer-events","status":"unoff","links":[{"url":"http://robertnyman.com/2010/03/22/css-pointer-events-to-allow-clicks-on-underlying-elements/","title":"Article & tutorial"}],"categories":["CSS3"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements.","usage_perc_y":55.88,"usage_perc_a":0,"keywords":"pointerevents","id":"pointer-events"},{"title":"Progress & Meter","description":"Method of indicating a progress state (progress element) or the current level of a gauge (meter element).\r\n","spec":"http://www.w3.org/TR/html5/the-button-element.html#the-progress-element","status":"wd","links":[{"url":"http://dev.opera.com/articles/view/new-form-features-in-HTML5/#newoutput","title":"Dev.Opera article"},{"url":"http://html5doctor.com/measure-up-with-the-meter-tag/","title":"HTML5 Doctor on meter element "},{"url":"http://peter.sh/examples/?/html/meter-progress.html","title":"Examples of progress and meter elements"}],"categories":["HTML5"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a","11":"a","12":"a","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Partial support in Firefox 6+ and IE10 refers to supporting the progress element, but not the meter element.","usage_perc_y":27.26,"usage_perc_a":17.13,"parent":"forms","detection_pattern":"<progress.*>.*<\\/progress>|<meter.*><\\/meter>","id":"progressmeter"},{"title":"querySelector/querySelectorAll","description":"Method of accessing DOM elements using CSS selectors","spec":"http://www.w3.org/TR/selectors-api/","status":"cr","links":[{"url":"https://developer.mozilla.org/en/DOM/element.querySelector","title":"MDN article on querySelector"},{"url":"https://developer.mozilla.org/En/DOM/Element.querySelectorAll","title":"MDN article on querySelectorAll"},{"url":"http://cjihrig.com/blog/javascripts-selectors-api/","title":"Blog post"}],"categories":["DOM"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Only works for the CSS selectors available. Thus the IE8 implementation is limited to the CSS 2.1 selectors","usage_perc_y":89.51,"usage_perc_a":0,"keywords":"query,selectors,selectors api","detection_pattern":"querySelector(All)?","id":"queryselector"},{"title":"rem (root em) units","description":"Type of unit similar to \"em\", but relative only to the root element, not any parent element. Thus compounding does not occur as it does with \"em\" units.","spec":"http://www.w3.org/TR/css3-values/#relative0","status":"wd","links":[{"url":"http://snook.ca/archives/html_and_css/font-size-with-rem","title":"Article on usage"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"u","5":"u","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":67.36,"usage_perc_a":0,"id":"rem"},{"title":"requestAnimationFrame","description":"API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts.","spec":"http://www.w3.org/TR/animation-timing/#requestAnimationFrame","status":"wd","links":[{"url":"http://paulirish.com/2011/requestanimationframe-for-smart-animating/","title":"Blog post"},{"url":"http://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval-to-requestanimationframe/","title":"Mozilla Hacks article"}],"categories":["JS API"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":43.75,"usage_perc_a":0,"detection_pattern":"(cancel|request)AnimationFrame","id":"requestanimationframe"},{"title":"Ruby annotation","description":"Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography)","spec":"http://www.w3.org/TR/html-markup/ruby.html","status":"wd","links":[{"url":"http://html5doctor.com/ruby-rt-rp-element/","title":"HTML5 Doctor article"},{"url":"https://addons.mozilla.org/en-US/firefox/addon/1935/","title":"Add-on for support in Firefox"}],"categories":["HTML5"],"stats":{"ie":{"10":"a","5.5":"a","6":"a","7":"a","8":"a","9":"a"},"firefox":{"10":"p","11":"u p","12":"u p","2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","4":"p","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"u p","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5":"a"},"op_mini":{"5.0-6.0":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"a","4":"a"}},"notes":"Browsers without native support can still simulate support using CSS. Partial support refers to only supporting basic ruby, may still be missing writing-mode, Complex ruby and CSS3 Ruby","usage_perc_y":0,"usage_perc_a":65.5,"detection_pattern":"<ruby.*>.*<\\/ruby>","id":"ruby"},{"title":"async attribute for external scripts","description":"The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first.","spec":"http://www.w3.org/TR/html5/scripting-1.html#attr-script-async","status":"wd","links":[{"url":"https://developer.mozilla.org/en/HTML/Element/script#Attributes","title":"MDN article"},{"url":"http://ie.microsoft.com/testdrive/Performance/AsyncScripts/Default.html","title":"Demo"}],"categories":["DOM","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"","usage_perc_y":52.78,"usage_perc_a":0,"detection_pattern":"<script\\s.*async.*>","id":"script-async"},{"title":"defer attribute for external scripts","description":"The boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first.","spec":"http://www.w3.org/TR/html5/scripting-1.html#attr-script-defer","status":"wd","links":[{"url":"https://developer.mozilla.org/en/HTML/Element/script#Attributes","title":"MDN article"}],"categories":["DOM","HTML5"],"stats":{"ie":{"10":"y","5.5":"y","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"","usage_perc_y":87.45,"usage_perc_a":0,"detection_pattern":"<script\\s.*defer.*>","id":"script-defer"},{"title":"Shared Web Workers","description":"Method of allowing multiple scripts to communicate with a single web worker.","spec":"http://www.w3.org/TR/workers/#shared-workers-introduction","status":"wd","links":[{"url":"http://www.sitepoint.com/javascript-shared-web-workers-html5/","title":"Sitepoint article"},{"url":"http://greenido.wordpress.com/2011/11/03/web-workers-part-3-out-of-3-shared-wrokers/","title":"Blog post"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"u","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":32.92,"usage_perc_a":0,"parent":"webworkers","keywords":"shared worker","detection_pattern":"new\\s+SharedWorker\\s*\\(.*\\)","id":"sharedworkers"},{"title":"Web SQL Database","description":"Method of storing data client-side, allows Sqlite database queries for access and manipulation","spec":"http://www.w3.org/TR/webdatabase/","status":"unoff","links":[{"url":"http://html5doctor.com/introducing-web-sql-databases/","title":"HTML5 Doctor article"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"The Web SQL Database specification is no longer being maintained and support may be dropped in future versions.","usage_perc_y":35.82,"usage_perc_a":0,"keywords":"db-storage,websql","id":"sql-storage"},{"title":"getUserMedia/Stream API","description":"Method of accessing external device data (such as a webcam video steam). Formerly this was envisioned as the &lt;device> element.","spec":"http://www.w3.org/TR/webrtc/","status":"wd","links":[{"url":"http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview","title":"Technology preview from Opera"}],"categories":["JS API","HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Expected to be in Opera 12, but may not make it.","usage_perc_y":0.02,"usage_perc_a":0,"keywords":"camera,device,getUserMedia","detection_pattern":"getUserMedia","id":"stream"},{"title":"SVG (basic support)","description":"Method of displaying basic Vector Graphics features using the embed or object elements","spec":"http://www.w3.org/Graphics/SVG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Scalable_Vector_Graphics","title":"Wikipedia"},{"url":"http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-i","title":"A List Apart article"},{"url":"http://svg-wow.org/","title":"SVG showcase site"},{"url":"http://code.google.com/p/svgweb/","title":"SVG Web: Flash-based polyfill"},{"url":"http://svg-edit.googlecode.com","title":"Web-based SVG editor"}],"categories":["SVG"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"","usage_perc_y":69.09,"usage_perc_a":0.1,"detection_pattern":"<svg.*>.*<\\/svg>","id":"svg"},{"title":"SVG in CSS backgrounds","description":"Method of using SVG images as CSS backgrounds","spec":"http://www.w3.org/TR/css3-background/#background-image","status":"cr","links":[{"url":"http://designfestival.com/a-farewell-to-css3-gradients/","title":"Tutorial for advanced effects"}],"categories":["SVG","CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"a","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"a","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5":"a"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"","usage_perc_y":62.56,"usage_perc_a":2.27,"keywords":"svg-in-css,svgincss,css-svg","id":"svg-css"},{"title":"SVG filters","description":"Method of using photoshop-like effects on SVG objects including blurring and color manipulation.","spec":"http://www.w3.org/TR/SVG/filters.html","status":"rec","links":[{"url":"http://electricbeach.org/?p=950","title":"Experiments with filter effects"},{"url":"http://svg-wow.org/blog/category/filters/","title":"SVG filter demos"}],"categories":["SVG"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"p","5":"a","6":"a","7":"a","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5":"p"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":51.87,"usage_perc_a":0.25,"id":"svg-filters"},{"title":"SVG fonts","description":"Method of using fonts defined as SVG shapes","spec":"http://www.w3.org/TR/SVG/fonts.html","status":"rec","links":[{"url":"http://jeremie.patonnier.net/post/2011/02/07/Why-are-SVG-Fonts-so-different","title":"Blog post"},{"url":"http://opentype.info/blog/2010/04/13/the-ipad-and-svg-fonts-in-mobile-safari/","title":"Blog post on usage for iPad"}],"categories":["SVG"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"n","11":"n","12":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"Supported in Opera Mini in SVG images only, not in HTML.","usage_perc_y":34.12,"usage_perc_a":0,"parent":"fontface","id":"svg-fonts"},{"title":"SVG effects for HTML","description":"Method of using SVG transforms, filters, etc on HTML elements using either CSS or the foreignObject element","spec":"http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement","status":"wd","links":[{"url":"https://developer.mozilla.org/en/SVG/Tutorial/Other_content_in_SVG","title":"MDN Tutorial"},{"url":"https://developer.mozilla.org/En/Applying_SVG_effects_to_HTML_content","title":"MDN Reference page"},{"url":"https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html","title":"Filter Effects draft"}],"categories":["SVG"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"a"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","9":"a","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5":"a"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Partial support refers to lack of filter support or buggy result from effects. A <a href=\"https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html\">CSS Filter Effects</a> specification is in the works that would replace this method.","usage_perc_y":22.19,"usage_perc_a":44.87,"id":"svg-html"},{"title":"Inline SVG in HTML5","description":"Method of using SVG tags directly in HTML documents. Requires HTML5 parser.","spec":"http://dev.w3.org/html5/spec/the-canvas-element.html#svg-0","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/05/firefox-4-the-html5-parser-inline-svg-speed-and-more/","title":"Mozilla Hacks blog post"},{"url":"http://samples.msdn.microsoft.com/ietestcenter/html5/svghtml_harness.htm?url=SVG_HTML_Elements_001","title":"Test suite"}],"categories":["SVG","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"p","5":"p","6":"p","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"","usage_perc_y":59.95,"usage_perc_a":0,"id":"svg-html5"},{"title":"SVG in HTML img element","description":"Method of displaying SVG images in HTML using &lt;img>","spec":"http://www.w3.org/TR/html5/embedded-content-1.html#the-img-element","status":"wd","links":[{"url":"http://blog.dholbert.org/2010/10/svg-as-image.html","title":"Blog post with examples"},{"url":"http://www.codedread.com/blog/","title":"Blog with SVGs an images"}],"categories":["SVG"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"a","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"Partial support in Safari 3.2 refers to buggy behavior with certain SVG images.","usage_perc_y":64.75,"usage_perc_a":0.08,"keywords":"svg-as-img,svg-in-img","id":"svg-img"},{"title":"SVG SMIL animation","description":"Method of using animation elements to animate SVG images","spec":"http://www.w3.org/TR/SVG/animate.html","status":"rec","links":[{"url":"http://www.carto.net/papers/svg/samples/#anim","title":"Example files"}],"categories":["SVG"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"a","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"","usage_perc_y":51.28,"usage_perc_a":1.12,"id":"svg-smil"},{"title":"CSS3 Text-overflow","description":"Append ellipsis when text overflows its containing element","spec":"http://www.w3.org/TR/css3-ui/#text-overflow0","status":"wd","links":[{"url":"http://www.css3files.com/text/","title":"Information page"},{"url":"https://developer.mozilla.org/En/CSS/Text-overflow","title":"MDN article"},{"url":"http://devongovett.wordpress.com/2009/04/06/text-overflow-ellipsis-for-firefox-via-jquery/","title":"jQuery polyfill for Firefox"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y x","10.5":"y x","10.6":"y x","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y x","9.5-9.6":"y x"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y x"},"op_mob":{"10":"y x","11":"y x","11.1":"y x","11.5":"y x","12":"y x"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":88.61,"usage_perc_a":0,"keywords":"textoverflow,ellipsis","detection_pattern":"text-overflow\\:","id":"text-overflow"},{"title":"CSS text-stroke","description":"Method of declaring the outline (stroke) width and color for text.","spec":"http://developer.apple.com/library/safari/documentation/appleapplications/reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266-_webkit_text_stroke","status":"unoff","links":[{"url":"http://css-tricks.com/7405-adding-stroke-to-web-text/","title":"Information & workarounds"},{"url":"http://www.westciv.com/tools/textStroke/","title":"Live editor"}],"categories":["CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"u","12":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"n","4":"y x"}},"notes":"Does not yet appear in any W3C specification. Works in Android 3 emulator, but not the tested device.","usage_perc_y":33.96,"usage_perc_a":0.07,"keywords":"textstroke,stroke-color,stroke-width,fill-color","id":"text-stroke"},{"title":"Touch events","description":"Method of registering when, where and how the interface is touched, for devices with a touch screen. These DOM events are similar to mousedown, mousemove, etc.","spec":"http://www.w3.org/TR/touch-events/","status":"wd","links":[{"url":"http://www.quirksmode.org/mobile/tableTouch.html","title":"Detailed support tables"},{"url":"http://schepers.cc/getintouch","title":"Information on the spec development"},{"url":"http://www.quirksmode.org/m/tests/drag2.html","title":"Multi-touch demo"}],"categories":["DOM","JS API"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"u","19":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"u"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Partial support in IE10 refers to using \"<a href=\"http://msdn.microsoft.com/en-us/ie/hh272903.aspx#_DOMTouch\">Pointer events</a>\".","usage_perc_y":20.99,"usage_perc_a":1.18,"keywords":"touchstart,touchend,touchmove,touchenter,touchleave,touchcancel","detection_pattern":"touch(start|end|move|cancel)|createTouch(List)?","id":"touch"},{"title":"CSS3 Transforms","description":"Method of transforming an element including rotating, scaling, etc.","spec":"http://www.w3.org/TR/css3-2d-transforms/","status":"wd","links":[{"url":"http://www.westciv.com/tools/transforms/","title":"Live editor"},{"url":"https://developer.mozilla.org/en/CSS/-moz-transform","title":"MDN article"},{"url":"http://www.webresourcesdepot.com/cross-browser-css-transforms-csssandpaper/","title":"Workaround script for IE"},{"url":"http://www.css3files.com/transform/","title":"Information page"},{"url":"http://www.useragentman.com/IETransformsTranslator/","title":"Converter for IE"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"p","7":"p","8":"p","9":"y x"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"y x","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"}},"notes":"The scale transform can be emulated in IE &lt; 9 using Microsoft's \"zoom\" extension, others are (not easily) possible using the MS Matrix filter","usage_perc_y":68.49,"usage_perc_a":0,"keywords":"transformation,rotation,rotate,scale,css-transforms","id":"transforms2d"},{"title":"CSS3 3D Transforms","description":"Method of transforming an element in the third dimension","spec":"http://www.w3.org/TR/css3-3d-transforms/","status":"wd","links":[{"url":"http://css3.bradshawenterprises.com/flip/","title":"Multi-browser demo"},{"url":"http://hacks.mozilla.org/2011/10/css-3d-transformations-in-firefox-nightly/","title":"Mozilla hacks article"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"u","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5":"y x"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y x","4":"y x"}},"notes":"","usage_perc_y":31.94,"usage_perc_a":0,"keywords":"css 3d,3dtransforms","id":"transforms3d"},{"title":"TTF/OTF - TrueType and OpenType font support","description":"Support for the TrueType (.ttf)and OpenType (.otf) outline font formats in @font-face. ","spec":"http://developer.apple.com/fonts/TTRefMan/index.html","status":"other","links":[],"categories":["CSS3"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"a"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Partial support in IE9 refers to the fonts only working <a href=\"http://blogs.msdn.com/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design.aspx\">when set to be \"installable\"</a>.","usage_perc_y":57.73,"usage_perc_a":10.48,"parent":"fontface","detection_pattern":"\\.ttf","id":"ttf"},{"title":"Typed Arrays","description":"JavaScript typed arrays provide a mechanism for accessing raw binary data much more efficiently.\r\n","spec":"http://www.khronos.org/registry/typedarray/specs/latest/","status":"other","links":[{"url":"https://developer.mozilla.org/en/javascript_typed_arrays","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"n","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y"}},"notes":"","usage_perc_y":50.15,"usage_perc_a":0,"keywords":"float64array,dataview,uint8array","id":"typedarrays"},{"title":"ECMAScript 5 Strict Mode","description":"Method of placing code in a \"strict\" operating context.","spec":"http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf","status":"other","links":[{"url":"http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/","title":"Information page"},{"url":"http://javascriptweblog.wordpress.com/2011/05/03/javascript-strict-mode/","title":"Article with test suite"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"Partial support in Safari refers to strict mode still accepting a lot of JS that should be considered invalid.","usage_perc_y":45.86,"usage_perc_a":4.15,"id":"use-strict"},{"title":"Video element","description":"Method of playing videos on webpages (without requiring a plug-in)","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#video","status":"wd","links":[{"url":"http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/","title":"Detailed article on video/audio elements"},{"url":"http://webmproject.org","title":"WebM format information"},{"url":"http://camendesign.co.uk/code/video_for_everybody","title":"Video for Everybody"},{"url":"http://diveinto.org/html5/video.html","title":"Video on the Web - includes info on Android support"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"a","2.2":"a","2.3":"y","3":"y","4":"y"}},"notes":"Different browsers have support for different video formats, see sub-features for details. \r\n\r\nThe Android browser (before 2.3) requires <a href=\"http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/\">specific handling</a> to run the video element.","usage_perc_y":67.75,"usage_perc_a":0.72,"keywords":"<video>","detection_pattern":"<video.*>.*<\\/video>","id":"video"},{"title":"WAI-ARIA Accessibility features","description":"Method of providing ways for people with disabilities to use dynamic web content and web applications.","spec":"http://www.w3.org/TR/wai-aria/","status":"cr","links":[{"url":"http://www.w3.org/WAI/intro/aria","title":"Information page"},{"url":"http://www.paciellogroup.com/blog/2011/10/browser-assistive-technology-tests-redux/","title":"Links to various test results"},{"url":"http://en.wikipedia.org/wiki/WAI-ARIA","title":"Wikipedia"},{"url":"http://www.alistapart.com/articles/the-accessibility-of-wai-aria/","title":"ALA Article"},{"url":"http://zufelt.ca/blog/are-you-confused-html5-and-wai-aria-yet","title":"HTML5/WAI-ARIA information"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","9":"n","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5":"a"},"op_mini":{"5.0-6.0":"a"},"op_mob":{"10":"a","11":"a","11.1":"a","11.5":"a","12":"a"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":52.08,"usage_perc_a":36.07,"keywords":"wai,aria","id":"wai-aria"},{"title":"WebGL - 3D Canvas graphics","description":"Method of generating dynamic 3D graphics using JavaScript, accelerated through hardware","spec":"https://www.khronos.org/registry/webgl/specs/1.0/","status":"other","links":[{"url":"http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation","title":"Instructions on enabling WebGL"},{"url":"http://www.khronos.org/webgl/wiki/Tutorial","title":"Tutorial"},{"url":"http://hacks.mozilla.org/2009/12/webgl-draft-released-today/","title":"Firefox blog post"},{"url":"http://webkit.org/blog/603/webgl-now-available-in-webkit-nightlies/","title":"Webkit blog post"},{"url":"http://iewebgl.com/","title":"Polyfill for IE"}],"categories":["Canvas"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"p"},"firefox":{"10":"a","11":"a","12":"a","2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","4":"n","5":"n","6":"n","7":"n","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"a","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"a"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"All support is currently listed as \"partial\" because not all users with these browsers have WebGL access. This is due to the additional requirement for users to have <a href=\"http://blog.mozilla.com/bjacob/2011/03/28/do-users-actually-get-hardware-acceleration/\">up to date video drivers</a>. Note that WebGL is part of the <a href=\"http://www.khronos.org/webgl/\">Khronos Group</a>, not the W3C.","usage_perc_y":0,"usage_perc_a":46.82,"parent":"canvas","keywords":"web gl","detection_pattern":".getContext\\s*\\(\\s*['\"](experimental-)?webgl['\"]\\s*\\)","id":"webgl"},{"title":"WebM/VP8 video format","description":"Multimedia format designed to provide a royalty-free, high-quality open video compression format for use with HTML5 video.","spec":"http://www.webmproject.org/","status":"other","links":[{"url":"http://webmproject.org","title":"Officical website"},{"url":"http://www.broken-links.com/2010/09/01/playing-webm-in-safari-with-plugins/","title":"Info on supporting WebM in Safari"},{"url":"https://tools.google.com/dlpage/webmmf","title":"Codec for IE9 support"}],"categories":["Other"],"stats":{"ie":{"10":"u p","5.5":"n","6":"n","7":"n","8":"n","9":"p"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"p","4":"p","5":"p","5.1":"p","6":"p"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"n"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"y","3":"y","4":"y"}},"notes":"Will work in IE9 and Safari provided the user has the WebM codecs installed.","usage_perc_y":46.86,"usage_perc_a":0,"parent":"video","keywords":"matroska","detection_pattern":"\\.webm","id":"webm"},{"title":"Web Sockets","description":"Bidirectional communication technology for web apps","spec":"http://www.w3.org/TR/websockets/","status":"wd","links":[{"url":"http://websocket.org/aboutwebsocket.html","title":"WebSockets information"},{"url":"http://updates.html5rocks.com/2011/08/What-s-different-in-the-new-WebSocket-protocol","title":"Details on newer protocol"},{"url":"http://en.wikipedia.org/wiki/WebSocket","title":"Wikipedia"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a","5":"a"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"a","11.1":"a","11.5":"a","12":"a"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"Partial support refers to the websockets implementation using an older version of the protocol and/or the implementation being disabled by default (due to security issues with the older protocol). \r\nMicrosoft is currently <a href=\"http://html5labs.interoperabilitybridges.com/html5labs/prototypes/websockets/websockets/info/\">experimenting</a> with the technology.","usage_perc_y":41.86,"usage_perc_a":10.06,"ucprefix":1,"detection_pattern":"new\\s+WebSocket\\s*\\(.*\\)","id":"websockets"},{"title":"Web Workers","description":"Method of running scripts in the background, isolated from the web page","spec":"http://www.whatwg.org/specs/web-workers/current-work/","status":"wd","links":[{"url":"https://developer.mozilla.org/En/Using_web_workers","title":"MDN article"},{"url":"http://nerget.com/rayjs-mt/rayjs.html","title":"Web Worker demo"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"p"},"firefox":{"10":"y","11":"y","12":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"p","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":55.44,"usage_perc_a":0,"detection_pattern":"new\\s+(Shared)?Worker\\s*\\(.*\\)","id":"webworkers"},{"title":"WOFF - Web Open Font Format","description":"Compressed TrueType/OpenType font that contains information about the font's source.","spec":"http://www.w3.org/TR/WOFF/","status":"cr","links":[{"url":"http://hacks.mozilla.org/2009/10/woff/","title":"Mozilla hacks blog post"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"n","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"}},"notes":"","usage_perc_y":63.82,"usage_perc_a":0,"parent":"fontface","detection_pattern":"\\.woff","id":"woff"},{"title":"CSS3 Word-wrap","description":"Allows lines to be broken within words if an otherwise unbreakable string is too long to fit.","spec":"http://www.w3.org/TR/css3-text/#word-wrap","status":"wd","links":[{"url":"https://developer.mozilla.org/En/CSS/Word-wrap","title":"MDN article"},{"url":"http://www.css3files.com/text/#wordwrap","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"y","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"","usage_perc_y":94.25,"usage_perc_a":0,"id":"wordwrap"},{"title":"Cross-document messaging","description":"Method of sending information from a page on one domain to a page on a different one (using postMessage)","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages","status":"wd","links":[{"url":"http://72lions.com/2011/05/cross-origin-communication-with-html5","title":"Article and demo"},{"url":"https://developer.mozilla.org/en/DOM/window.postMessage","title":"MDN article"},{"url":"http://html5demos.com/postmessage2","title":"Simple demo"}],"categories":["JS API"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"n","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"Partial support in IE refers to only working in frames/iframes (not other tabs/windows).","usage_perc_y":60.34,"usage_perc_a":29.53,"detection_pattern":"postMessage","id":"x-doc-messaging"},{"title":"XMLHttpRequest 2","description":"Adds more functionality to AJAX requests like file uploads, transfer progress information and the ability to send form data.","spec":"http://www.w3.org/TR/XMLHttpRequest2/","status":"wd","links":[{"url":"https://developer.mozilla.org/en/XMLHttpRequest/FormData","title":"MDN article on FormData"},{"url":"http://www.profilepicture.co.uk/tutorials/ajax-file-upload-xmlhttprequest-level-2/","title":"Article with file upload demo"}],"categories":["DOM","JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","2":"n","3":"n","3.5":"a","3.6":"a","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"u","5":"u","6":"u","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","9":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5":"y"},"op_mini":{"5.0-6.0":"n"},"op_mob":{"10":"n","11":"n","11.1":"n","11.5":"n","12":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"}},"notes":"Firefox 3.5 and 3.6 partial support refers to only including support for the progress event.","usage_perc_y":49.35,"usage_perc_a":3.9,"keywords":"formdata","id":"xhr2"},{"title":"XHTML served as application/xhtml+xml","description":"A strict form of HTML, and allows embedding of other XML languages","spec":"http://www.w3.org/TR/xhtml1/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/XHTML","title":"Wikipedia"},{"url":"http://www.xmlplease.com/xhtml/xhtml5polyglot/","title":"Information on XHTML5"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","9":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5":"y"},"op_mini":{"5.0-6.0":"y"},"op_mob":{"10":"y","11":"y","11.1":"y","11.5":"y","12":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"}},"notes":"The XHTML syntax is very close to HTML, and thus is almost always served as text/html on the web.","usage_perc_y":70.93,"usage_perc_a":0,"keywords":"xhtml+xml","id":"xhtml"},{"title":"XHTML+SMIL animation","description":"Method of using SMIL animation in web pages","spec":"http://www.w3.org/TR/XHTMLplusSMIL/","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/XHTML%2BSMIL","title":"Wikipedia"},{"url":"http://leunen.me/fakesmile/","title":"JS library to support XHTML+SMIL"}],"categories":["Other"],"stats":{"ie":{"10":"u","5.5":"n","6":"a","7":"a","8":"a","9":"n"},"firefox":{"10":"p","11":"p","12":"p","2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"chrome":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","9":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5":"p"},"op_mini":{"5.0-6.0":"p"},"op_mob":{"10":"p","11":"p","11.1":"p","11.5":"p","12":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p"}},"notes":"Internet Explorer supports the W3C proposal HTML+TIME, which is largely the same as XHTML+SMIL","usage_perc_y":0,"usage_perc_a":23.8,"parent":"xhtml","id":"xhtmlsmil"}]
1
+ [{"title":"Animated PNG (APNG)","description":"Like animated GIFs, but allowing 24-bit colors and alpha transparency","spec":"https://wiki.mozilla.org/APNG_Specification","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/APNG","title":"Wikipedia"},{"url":"http://www.truekolor.net/learn-how-to-create-an-animated-png/","title":"APNG tutorial"},{"url":"http://animatedpng.com/","title":"An APNG editor"},{"url":"https://github.com/davidmz/apng-canvas","title":"Polyfill using canvas"},{"url":"https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp","title":"Chrome extension providing support"}],"categories":["PNG"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"u","23":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["y"]},"notes":"Where support for APNG is missing, only the first frame is displayed","usage_perc_y":22.58,"usage_perc_a":0,"id":"apng"},{"title":"Audio element","description":"Method of playing sound on webpages (without requiring a plug-in)","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#audio","status":"wd","links":[{"url":"http://html5doctor.com/native-audio-in-the-browser/","title":"HTML5 Doctor article"},{"url":"http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/","title":"Detailed article on video/audio elements"},{"url":"http://www.jplayer.org/latest/demos/","title":"Demos of audio player that uses <audio>"},{"url":"http://24ways.org/2010/the-state-of-html5-audio","title":"Detailed article on support"},{"url":"http://textopia.org/androidsoundformats.html","title":"File format test page"},{"url":"http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio","title":"The State of HTML5 Audio"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":76.12,"usage_perc_a":0.07,"detection_pattern":"<audio.*>.*<\\/audio>","id":"audio"},{"title":"Audio API","description":"High-level JavaScript API for processing and synthesizing audio","spec":"http://www.w3.org/TR/audioproc/","status":"wd","links":[{"url":"http://www.w3.org/TR/streamproc/","title":"MediaStream Processing API"},{"url":"http://www.w3.org/TR/webaudio/","title":"Web Audio API by Google"},{"url":"https://github.com/corbanbrook/audionode.js","title":"Polyfill to support Web Audio API in Firefox"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","2":"n","3":"n","3.5":"n","3.6":"n","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["a x"],"and_ff":["a x"]},"notes":"Current support in Gecko/WebKit is based on two different proposals.","usage_perc_y":0,"usage_perc_a":49.25,"id":"audio-api"},{"title":"CSS3 Background-image options","description":"New properties to affect background images, including background-clip, background-origin and background-size","spec":"http://www.w3.org/TR/css3-background/#backgrounds","status":"cr","links":[{"url":"http://www.standardista.com/css3/css3-background-properties","title":"Detailed compatibility tables and demos"},{"url":"http://www.css3files.com/background/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"a x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a x","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"a","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"a"},"android":{"2.1":"a","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in Opera Mini refers to not supporting background sizing or background attachments.","usage_perc_y":75.14,"usage_perc_a":3.51,"id":"background-img-opts"},{"title":"BlobBuilder API","description":"Construct Blobs (binary large objects) and files","spec":"http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/BlobBuilder","title":"MDN article"}],"categories":[],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y x","4":"y x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"n"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"","usage_perc_y":49.13,"usage_perc_a":0,"parent":"fileapi","detection_pattern":"new\\s+BlobBuilder","id":"blobbuilder"},{"title":"Blob URLs","description":"Method of creating URL handles to the specified File or Blob object.","spec":"http://www.w3.org/TR/FileAPI/#url","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/window.URL.createObjectURL","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"a","12.5":"a","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"n"},"and_chr":["y x"],"and_ff":["y"]},"notes":"Partial support in Opera refers to limited support (for example, does not support revokeObjectURL).","usage_perc_y":49.72,"usage_perc_a":0.96,"parent":"fileapi","keywords":"createobjecturl","detection_pattern":"blob\\:","id":"bloburls"},{"title":"CSS3 Border images","description":"Method of using images for borders","spec":"http://www.w3.org/TR/css3-background/#the-border-image","status":"cr","links":[{"url":"http://www.css3files.com/border/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"y x","16":"y x","2":"n","3":"n","3.5":"a x","3.6":"a x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"y x","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"safari":{"3.1":"a x","3.2":"a x","4":"a x","5":"a x","5.1":"a x","6":"y"},"opera":{"10.0-10.1":"n","10.5":"a","10.6":"a","11":"a x","11.1":"a x","11.5":"a x","11.6":"a x","12":"a x","12.5":"a x","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"a x","6":"a x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"a x"},"op_mob":{"10":"n","11.5":"a x","12":"a x"},"bb":{"10":"y","7":"a x"},"and_chr":["y"],"and_ff":["a x"]},"notes":"Partial support refers to supporting the shorthand syntax, but not the individual properties (border-image-source, border-image-slice, etc)","usage_perc_y":28.99,"usage_perc_a":32.7,"detection_pattern":"border-image(-(source|slice|width|outset|repeat))?\\:","id":"border-image"},{"title":"CSS3 Border-radius (rounded corners)","description":"Method of making the border corners round","spec":"http://www.w3.org/TR/css3-background/#the-border-radius","status":"cr","links":[{"url":"http://border-radius.com","title":"Border-radius CSS Generator"},{"url":"http://muddledramblings.com/table-of-css3-border-radius-compliance","title":"Detailed compliance table"},{"url":"http://www.css3files.com/border/#borderradius","title":"Information page"},{"url":"http://css3pie.com/","title":"Polyfill for that includes border-radius"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"a x","3":"y x","3.5":"y x","3.6":"y x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y x","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y x","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":76.98,"usage_perc_a":0.05,"keywords":"roundedcorners, border radius,-moz-border-radius","detection_pattern":"border(-(top|bottom)-(right|left))?-radius\\:","id":"border-radius"},{"title":"calc() as CSS unit value","description":"Method of allowing calculated values for length units, i.e. width: calc(100% - 3em)","spec":"http://www.w3.org/TR/css3-values/#calc","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/06/css3-calc/","title":"Mozilla Hacks article"},{"url":"https://developer.mozilla.org/en/CSS/-moz-calc","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["y x"]},"notes":"Support can be somewhat emulated in older versions of IE using the non-standard expression() syntax.","usage_perc_y":62.07,"usage_perc_a":0,"detection_pattern":"[a-zA-Z-]+:s*calc(.*)","id":"calc"},{"title":"Canvas (basic support)","description":"Method of generating fast, dynamic graphics using JavaScript","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element","status":"wd","links":[{"url":"https://developer.mozilla.org/en/Canvas_tutorial","title":"Tutorial by Mozilla"},{"url":"http://www.canvasdemos.com/","title":"Showcase site"},{"url":"http://glimr.rubyforge.org/cake/canvas.html","title":"Animation kit "},{"url":"http://www.diveinto.org/html5/canvas.html","title":"Another tutorial"},{"url":"http://explorercanvas.googlecode.com/","title":"Implementation for Internet Explorer"}],"categories":["Canvas","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"a"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Opera Mini supports the canvas element, but is unable to play animations or run other more complex applications.","usage_perc_y":77.11,"usage_perc_a":2.07,"detection_pattern":"<canvas.*>.*<\\/canvas>","id":"canvas"},{"title":"Text API for Canvas","description":"Method of displaying text on Canvas elements","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#text-0","status":"wd","links":[{"url":"https://developer.mozilla.org/en/Drawing_text_using_a_canvas#Additional_examples","title":"Examples by Mozilla"},{"url":"http://code.google.com/p/canvas-text/","title":"Support library"}],"categories":["Canvas","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"p"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"p","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":76.77,"usage_perc_a":0,"parent":"canvas","id":"canvas-text"},{"title":"classList (DOMTokenList )","description":"Method of easily manipulating classes on elements, using the DOMTokenList object.","spec":"http://www.w3.org/TR/html5/common-dom-interfaces.html#domtokenlist-0","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/01/classlist-in-firefox-3-6/","title":"Mozilla Hacks article"},{"url":"https://github.com/eligrey/classList.js","title":"Polyfill script"}],"categories":["DOM","HTML5"],"stats":{"ie":{"10":"u","5.5":"p","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"p","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"p","5":"p","6":"p","7":"p","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"y","4":"y"},"op_mob":{"10":"p","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":57.2,"usage_perc_a":0,"id":"classlist"},{"title":"contenteditable attribute (basic support)","description":"Method of making any HTML element editable","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#contenteditable","status":"wd","links":[{"url":"http://html5demos.com/contenteditable","title":"Demo page"},{"url":"http://blog.whatwg.org/the-road-to-html-5-contenteditable","title":"WHATWG blog post"},{"url":"http://accessgarage.wordpress.com/2009/05/08/how-to-hack-your-app-to-make-contenteditable-work/","title":"Blog post on usage problems"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"y","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited.","usage_perc_y":87.11,"usage_perc_a":0.2,"detection_pattern":"<\\w.*\\scontenteditable.*>","id":"contenteditable"},{"title":"Cross-Origin Resource Sharing","description":"Method of performing XMLHttpRequests across domains","spec":"http://www.w3.org/TR/cors/","status":"wd","links":[{"url":"http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/","title":"Mozilla Hacks blog post"},{"url":"http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx","title":"Alternative implementation by IE8"},{"url":"http://saltybeagle.com/2009/09/cross-origin-resource-sharing-demo/","title":"Demo and script with cross-browser support"},{"url":"http://dev.opera.com/articles/view/dom-access-control-using-cross-origin-resource-sharing/","title":"DOM access using CORS"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Supported somewhat in IE8 and IE9 using the XDomainRequest object","usage_perc_y":61.28,"usage_perc_a":26.84,"id":"cors"},{"title":"CSS3 Animation","description":"Complex method of animating certain properties of an element","spec":"http://www.w3.org/TR/css3-animations/","status":"wd","links":[{"url":"http://robertnyman.com/2010/05/06/css3-animations/","title":"Blog post on usage"},{"url":"http://www.css3files.com/animation/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y x","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"y x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"y x"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"Partial support in Android browser refers to buggy behavior in different scenarios. Support in Opera 12 is expected, but not assured.","usage_perc_y":57.27,"usage_perc_a":2.29,"keywords":"animations,css-animations,keyframe","detection_pattern":"animation(-(name|duration|timing-function|iteration-count|direction|delay))?\\:","id":"css-animation"},{"title":"CSS3 Box-shadow","description":"Method of displaying an inner or outer shadow effect to elements","spec":"http://www.w3.org/TR/css3-background/#box-shadow","status":"cr","links":[{"url":"https://developer.mozilla.org/En/CSS/-moz-box-shadow","title":"MDN article"},{"url":"http://westciv.com/tools/boxshadows/index.html","title":"Live editor"},{"url":"http://tests.themasta.com/blogstuff/boxshadowdemo.html","title":"Demo of various effects"},{"url":"http://thany.nl/apps/boxshadows/","title":"Visual browser comparison"},{"url":"http://www.css3files.com/shadow/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y x","3.6":"y x","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"a x","3.2":"a x","4":"a x","5":"y x","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"y x"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y x"},"and_chr":["y"],"and_ff":["y"]},"notes":"Can be partially emulated in older IE versions using the non-standard \"shadow\" filter. Partial support in Safari, iOS Safari and Android Browser refers to missing \"inset\" and blur radius value support.","usage_perc_y":74.3,"usage_perc_a":2.49,"keywords":"box-shadows,boxshadows,box shadow,shaow","detection_pattern":"box-shadow\\:","id":"css-boxshadow"},{"title":"CSS Canvas Drawings","description":"Method of using HTML5 Canvas as a background image","spec":"http://webkit.org/blog/176/css-canvas-drawing/","status":"unoff","links":[{"url":"http://webkit.org/blog/176/css-canvas-drawing/","title":"Webkit blog post"}],"categories":["CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"y x"},"and_chr":["y x"],"and_ff":["n"]},"notes":"Proposal by Webkit, being considered for W3C standardization. A similar effect can be achieved in Firefox 4+ using the -moz-element() background property","usage_perc_y":39.36,"usage_perc_a":0,"id":"css-canvas"},{"title":"CSS Counters","description":"Method of controlling number values in generated content, using the counter-reset and counter-increment properties.","spec":"http://www.w3.org/TR/CSS21/generate.html#counters","status":"wd","links":[{"url":"http://onwebdev.blogspot.com/2012/02/css-counters-tutorial.html","title":"Tutorial and information"},{"url":"https://developer.mozilla.org/en/CSS_Counters","title":"MDN article"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":90.97,"usage_perc_a":0,"id":"css-counters"},{"title":"CSS Filter Effects","description":"Method of applying filter effects (like blur, grayscale, brightness, contrast and hue) to elements, previously only possible by using SVG.","spec":"https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html","status":"unoff","links":[{"url":"http://html5-demos.appspot.com/static/css/filters/index.html","title":"Demo file for WebKit browsers"},{"url":"http://www.html5rocks.com/en/tutorials/filters/understanding-css/","title":"Mozilla hacks article"}],"categories":["CSS3","CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"Note that this property is significantly different from and incompatible with Microsoft's <a href=\"http://msdn.microsoft.com/en-us/library/ie/ms530752%28v=vs.85%29.aspx\">older \"filter\" property</a>.","usage_perc_y":27.82,"usage_perc_a":0,"keywords":"sepia,hue-rotate,invert,saturate","id":"css-filters"},{"title":"CSS position:fixed","description":"Method of keeping an element in a fixed location regardless of scroll position","spec":"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning","status":"rec","links":[{"url":"http://www.css-101.org/fixed-positioning/05.php","title":"Workaround for IE6"},{"url":"http://bradfrostweb.com/blog/mobile/fixed-position/","title":"Article on mobile support"}],"categories":["CSS"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"Only works in Android 2.2+ by using the following meta tag: &lt;meta name=\"viewport\" content=\"width=device-width, user-scalable=no\">. Partial support in iOS Safari refers to <a href=\"http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/\">buggy behavior</a>.","usage_perc_y":84.91,"usage_perc_a":4.14,"detection_pattern":"position\\:s*fixed","id":"css-fixed"},{"title":"CSS Generated content","description":"Method of displaying text or images before or after the given element's contents using the :before and :after pseudo-elements","spec":"http://www.w3.org/TR/CSS21/generate.html","status":"rec","links":[{"url":"http://www.westciv.com/style_master/academy/css_tutorial/advanced/generated_content.html","title":"Guide on usage"},{"url":"http://dev.opera.com/articles/view/css-generated-content-techniques/","title":"Dev.Opera article"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":90.97,"usage_perc_a":0,"keywords":"before,after","detection_pattern":"content\\:","id":"css-gencontent"},{"title":"CSS Gradients","description":"Method of defining a linear or radial color gradient as a CSS image.","spec":"http://www.w3.org/TR/css3-images/","status":"cr","links":[{"url":"http://www.colorzilla.com/gradient-editor/","title":"Cross-browser editor"},{"url":"http://www.css3files.com/gradient/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"safari":{"3.1":"n","3.2":"n","4":"a x","5":"a x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a x","11.5":"a x","11.6":"y x","12":"y x","12.5":"y x","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"y x"},"op_mob":{"10":"n","11.5":"a x","12":"y x"},"bb":{"10":"y x","7":"a x"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"Partial support in Opera 11.10 and 11.50 also refers to only having support for linear gradients. Support can be somewhat emulated in older IE versions using the non-standard \"gradient\" filter. Firefox 10+, Opera 11.6+ and IE10 also support the new \"to (side)\" syntax.","usage_perc_y":56.84,"usage_perc_a":4.59,"keywords":"linear,linear-gradient,gradiant","detection_pattern":"(linear|radial)-gradient\\(.*\\)","id":"css-gradients"},{"title":"CSS Grid Layout","description":"Method of using a grid concept to lay out content, providing a mechanism for authors to divide available space for lay out into columns and rows using a set of predictable sizing behaviors","spec":"http://www.w3.org/TR/css3-grid-layout/","status":"wd","links":[{"url":"http://blogs.msdn.com/b/ie/archive/2011/04/14/ie10-platform-preview-and-css-features-for-adaptive-layouts.aspx","title":"IE Blog post"}],"categories":["CSS"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"u","23":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"","usage_perc_y":0.04,"usage_perc_a":0,"keywords":"grids,grid-row,grid-column","detection_pattern":"display:s*grids*;","id":"css-grid"},{"title":"CSS Hyphenation","description":"Method of controlling when words at the end of lines should be hyphenated using the \"hyphens\" property.","spec":"http://www.w3.org/TR/css3-text/#hyphenation","status":"wd","links":[{"url":"https://developer.mozilla.org/en/CSS/hyphens","title":"MDN article"},{"url":"http://blog.fontdeck.com/post/9037028497/hyphens","title":"Blog post"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["y x"]},"notes":"Chrome and Android 4.0 Browser support \"-webkit-hyphens: none\", but not the \"auto\" property.","usage_perc_y":24.61,"usage_perc_a":0,"keywords":"hyphen,shy","detection_pattern":"hyphens\\:","id":"css-hyphens"},{"title":"CSS Masks","description":"Method of displaying part of an element, using a selected image as a mask","spec":"http://webkit.org/blog/181/css-masks/","status":"unoff","links":[{"url":"http://webkit.org/blog/181/css-masks/","title":"Webkit blog post"}],"categories":["CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"y x"},"and_chr":["y x"],"and_ff":["n"]},"notes":"Proposal by Webkit, being considered for W3C standardization.","usage_perc_y":39.36,"usage_perc_a":0,"id":"css-masks"},{"title":"CSS3 Media Queries","description":"Method of applying styles based on media information. Includes things like page and device dimensions","spec":"http://www.w3.org/TR/css3-mediaqueries/","status":"rec","links":[{"url":"http://ie.microsoft.com/testdrive/HTML5/85CSS3_MediaQueries/","title":"IE demo page with information"},{"url":"http://webdesignerwall.com/tutorials/responsive-design-with-css3-media-queries","title":"Media Queries tutorial"},{"url":"https://github.com/scottjehl/Respond","title":"Polyfill for IE"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"p","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Incomplete support by older webkit browsers refers to only acknowledging different media rules on page reload","usage_perc_y":78.91,"usage_perc_a":0.02,"keywords":"@media","id":"css-mediaqueries"},{"title":"CSS3 Opacity","description":"Method of setting the transparency level of an element","spec":"http://www.w3.org/TR/css3-color/","status":"rec","links":[{"url":"http://www.css3files.com/color/#opacity","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"a","6":"a","7":"a","8":"a","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Transparency for elements in IE8 and older can be achieved using the proprietary \"filter\" property and does not work well with PNG images using alpha transparency.","usage_perc_y":79.18,"usage_perc_a":13.4,"keywords":"transparent,transparency,alpha","detection_pattern":"opacity\\:","id":"css-opacity"},{"title":"CSS Reflections","description":"Method of displaying a reflection of an element","spec":"http://webkit.org/blog/182/css-reflections/","status":"unoff","links":[{"url":"http://webkit.org/blog/182/css-reflections/","title":"Webkit blog post"}],"categories":["CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"y x"},"and_chr":["y x"],"and_ff":["n"]},"notes":"Similar effect can be achieved in Firefox 4+ using the -moz-element() background property","usage_perc_y":39.36,"usage_perc_a":0,"keywords":"box-reflect","id":"css-reflections"},{"title":"CSS Regions","description":"Method of flowing content into multiple elements.","spec":"http://www.w3.org/TR/css3-regions/","status":"wd","links":[{"url":"http://labs.adobe.com/downloads/cssregions.html","title":"Adobe prototype build & samples"},{"url":"http://msdn.microsoft.com/en-us/ie/hh272902#_CSSConnected","title":"IE10 developer guide info"}],"categories":["CSS3"],"stats":{"ie":{"10":"a x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["a x"],"and_ff":["n"]},"notes":"Currently supported in WebKit using -webkit-flow: \"flow_name\"; and content: -webkit-from-flow(\"flow_name\"); Support in Chrome 19+ is disabled by default and can be enabled using command line flag <a href=\"http://peter.sh/experiments/chromium-command-line-switches/#enable-css-regions\">--enable-css-regions</a>. Supported in IE10 using an iframe with -ms-flow-into: flow_name; and -ms-flow-from: flow_name;","usage_perc_y":0,"usage_perc_a":28.89,"detection_pattern":"flow-(into|from)\\:|@region","id":"css-regions"},{"title":"CSS Repeating Gradients","description":"Method of defining a repeating linear or radial color gradient as a CSS image.","spec":"http://www.w3.org/TR/css3-images/#repeating-gradients","status":"cr","links":[{"url":"https://developer.mozilla.org/en/CSS/repeating-linear-gradient","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"a x","11.5":"a x","11.6":"y x","12":"y x","12.5":"y x","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y x"},"op_mob":{"10":"n","11.5":"a x","12":"y x"},"bb":{"10":"y x","7":"n"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"Partial support in Opera 11.10 and 11.50 also refers to only having support for linear gradients. Firefox 10+ and Opera 11.6+ also support the new \"to (side)\" syntax.","usage_perc_y":56.84,"usage_perc_a":0.1,"parent":"css-gradients","id":"css-repeating-gradients"},{"title":"CSS resize property","description":"Method of allowing an element to be resized by the user, with options to limit to a given direction. ","spec":"http://www.w3.org/TR/css3-ui/#resize","status":"wd","links":[{"url":"http://www.css3.info/preview/resize/","title":"Demo and tutorial"}],"categories":["CSS3"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"","usage_perc_y":53.32,"usage_perc_a":0,"keywords":"horizontal,vertical","id":"css-resize"},{"title":"CSS 2.1 selectors","description":"Allows more accurate element selecting, using >, +, [attr], :first-child, etc.","spec":"http://www.w3.org/TR/CSS21/selector.html","status":"rec","links":[{"url":"http://www.quirksmode.org/css/contents.html","title":"Detailed support information"},{"url":"http://www.yourhtmlsource.com/stylesheets/advancedselectors.html","title":"Examples of advanced selectors"},{"url":"http://selectivizr.com","title":"Selectivizr: Polyfill for IE6-8"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":92.11,"usage_perc_a":0,"keywords":"child selector,:hover,adjacent,sibling,adjacent sibling","id":"css-sel2"},{"title":"CSS3 selectors","description":"Advanced element selection using selectors like :nth-child(), :last-child, :first-of-type, etc.","spec":"http://www.w3.org/TR/css3-selectors/","status":"rec","links":[{"url":"http://www.quirksmode.org/css/contents.html","title":"Detailed support information"},{"url":"http://www.css3.info/selectors-test/","title":"Automated CSS3 selector test"},{"url":"http://selectivizr.com","title":"Selectivizr: Polyfill for IE6-8"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":78.92,"usage_perc_a":0,"keywords":":target,:not","id":"css-sel3"},{"title":"CSS Table display","description":"Method of displaying elements as tables, rows, and cells","spec":"http://www.w3.org/TR/CSS21/tables.html","status":"rec","links":[{"url":"http://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/","title":"Detailed article on usage"},{"url":"http://www.onenaught.com/posts/201/use-css-displaytable-for-layout","title":"Blog post on usage"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":90.97,"usage_perc_a":0,"keywords":"display:table, display: table,table-cell,table-row,table-layout","id":"css-table"},{"title":"CSS3 Text-shadow","description":"Method of applying one or more shadow or blur effects to text","spec":"http://www.w3.org/TR/css3-text/#text-shadow","status":"wd","links":[{"url":"http://hacks.mozilla.org/2009/06/text-shadow/","title":"Mozilla hacks article"},{"url":"http://ie.microsoft.com/testdrive/Graphics/hands-on-css3/hands-on_text-shadow.htm","title":"Live editor"},{"url":"http://www.css3files.com/shadow/#textshadow","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"a"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"a"},"and_chr":["y"],"and_ff":["y"]},"notes":"Opera Mini ignores the blur-radius set, so no blur effect is visible. Text-shadow behavior can be somewhat emulated in older IE versions using the non-standard \"dropshadow\" or \"glow\" filters. ","usage_perc_y":61.66,"usage_perc_a":2.22,"detection_pattern":"text-shadow\\:","id":"css-textshadow"},{"title":"CSS3 Transitions","description":"Simple method of animating certain properties of an element","spec":"http://www.w3.org/TR/css3-transitions/","status":"wd","links":[{"url":"http://www.webdesignerdepot.com/2010/01/css-transitions-101/","title":"Article on usage"},{"url":"http://www.css3files.com/transition/","title":"Information page"},{"url":"http://www.the-art-of-web.com/css/timing-function/","title":"Examples on timing functions"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"y x","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"},"op_mob":{"10":"y x","11.5":"y x","12":"y x"},"bb":{"10":"y x","7":"y x"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"","usage_perc_y":60.41,"usage_perc_a":0,"keywords":"css transition","detection_pattern":"transition(-(property|duration|timing-function|delay))?\\:","id":"css-transitions"},{"title":"CSS3 Box-sizing","description":"Method of specifying whether or not an element's borders and padding should be included in size units","spec":"http://www.w3.org/TR/css3-ui/#box-sizing","status":"cr","links":[{"url":"https://developer.mozilla.org/En/CSS/Box-sizing","title":"MDN article"},{"url":"http://www.456bereastreet.com/archive/201104/controlling_width_with_css3_box-sizing/","title":"Blog post"},{"url":"https://github.com/Schepp/box-sizing-polyfill","title":"Polyfill for IE"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"p","6":"p","7":"p","8":"y","9":"y"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","2":"y x","3":"y x","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y x"},"and_chr":["y"],"and_ff":["y x"]},"notes":"","usage_perc_y":90.97,"usage_perc_a":0,"keywords":"border-box,content-box","detection_pattern":"box-sizing\\:","id":"css3-boxsizing"},{"title":"CSS3 Colors","description":"Method of describing colors using Hue, Saturation and Lightness (hsl()) rather than just RGB, as well as allowing alpha-transparency with rgba() and hsla().","spec":"http://www.w3.org/TR/css3-color/","status":"rec","links":[{"url":"http://dev.opera.com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-transparency/","title":"Dev.Opera article"},{"url":"http://www.zenelements.com/blog/css3-rgb-rgba-color-opacity/","title":"Guide to RGB & RGBA"},{"url":"http://www.zenelements.com/blog/css3-hsl-hsla-color-opacity/","title":"Guide to HSL & HSLA"},{"url":"http://www.css3files.com/color/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"a"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":79.07,"usage_perc_a":0.11,"keywords":"rgb,hsl,rgba,hsla","detection_pattern":"(hsla?|rgba)\\(.*\\)","id":"css3-colors"},{"title":"Datalist element","description":"Method of setting a list of options for a user to select in a text field, while leaving the ability to enter a custom value.","spec":"http://www.w3.org/TR/html5/the-button-element.html#the-datalist-element","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/","title":"Mozilla Hacks article"},{"url":"http://afarkas.github.com/webshim/demos/","title":"HTML5 Library including datalist support"},{"url":"https://developer.mozilla.org/en/HTML/Element/datalist","title":"MDN reference"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"p"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"n","20":"y","21":"y","22":"y","23":"y","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"n"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6":"p"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"p","7":"p"},"and_chr":["p"],"and_ff":["y"]},"notes":"","usage_perc_y":46.87,"usage_perc_a":0,"parent":"forms","keywords":"list attribute","detection_pattern":"<datalist.*>.*<\\/datalist>","id":"datalist"},{"title":"dataset & data-* attributes","description":"Method of applying and accessing custom data to elements.","spec":"http://www.w3.org/TR/html5/elements.html#embedding-custom-non-visible-data-with-the-data-attributes","status":"wd","links":[{"url":"http://html5doctor.com/html5-custom-data-attributes/","title":"HTML5 Doctor article"},{"url":"http://www.orangesoda.net/jquery.dataset.html","title":"jQuery polyfill for dataset support"},{"url":"http://html5demos.com/dataset","title":"Demo using dataset"}],"categories":["HTML5"],"stats":{"ie":{"10":"a","5.5":"a","6":"a","7":"a","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"a","3":"a","3.5":"a","3.6":"a","4":"a","5":"a","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"a","5":"a","6":"a","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"y","4":"y"},"op_mob":{"10":"a","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"All browsers can already use data-* attributes and access them using getAttribute. \"Supported\" refers to accessing the values using the dataset property.","usage_perc_y":55.64,"usage_perc_a":36.94,"keywords":"DOMStringMap","detection_pattern":"<[a-zA-Z][a-zA-Z0-9]*\\s(.*)data-[a-zA-Z]([a-zA-Z0-9]|-[a-zA-Z])*\\s*=.*>","id":"dataset"},{"title":"Data URLs","description":"Method of embedding images and other files in webpages as a string of text","spec":"http://www.ietf.org/rfc/rfc2397.txt","status":"other","links":[{"url":"http://css-tricks.com/5970-data-uris/","title":"Information page"},{"url":"http://en.wikipedia.org/wiki/data_URI_scheme","title":"Wikipedia"},{"url":"http://www.websiteoptimization.com/speed/tweak/inline-images/","title":"Data URL converter"}],"categories":["Other"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Support in Internet Explorer 8 is limited to images and linked resources like CSS files, not HTML files. Max URI length in IE8 is 32KB. In IE9 JavaScript files are supported too and the maximum size limit set to 4GB.","usage_perc_y":64.08,"usage_perc_a":26.89,"keywords":"datauris,data uri,dataurl,dataurls","detection_pattern":"data\\:","id":"datauri"},{"title":"Details & Summary elements","description":"The &lt;details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child &lt;summary> element.","spec":"http://www.w3.org/TR/html5/interactive-elements.html#the-details-element","status":"wd","links":[{"url":"http://html5doctor.com/summary-figcaption-element/","title":"HTML5 Doctor article"},{"url":"https://gist.github.com/370590","title":"Fallback script"},{"url":"http://mathiasbynens.be/notes/html5-details-jquery","title":"jQuery fallback script"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"u","16":"u","2":"n","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"chrome":{"10":"p","11":"p","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6":"p"},"op_mini":{"5.0-7.0":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"y"},"op_mob":{"10":"p","11.5":"p","12":"p"},"bb":{"10":"y","7":"p"},"and_chr":["y"],"and_ff":["n"]},"notes":"","usage_perc_y":29.71,"usage_perc_a":0,"detection_pattern":"<details.*>.*<\\/details>","id":"details"},{"title":"Device Orientation events","description":"API for detecting orientation and motion events from the device running the browser.","spec":"http://www.w3.org/TR/orientation-event/","status":"wd","links":[{"url":"http://www.html5rocks.com/en/tutorials/device/orientation/","title":"HTML5 Rocks tutorial"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","2":"n","3":"n","3.5":"n","3.6":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"y"},"bb":{"10":"y","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"Firefox 3.6, 4 and 5 support the non-standard <a href=\\\"https://developer.mozilla.org/en/DOM/MozOrientation\\\">MozOrientation</a> event. Firefox 6+ claims support, but does not appear to work where Chrome does (tested on macbook pro).","usage_perc_y":32.8,"usage_perc_a":20.59,"detection_pattern":"deviceorientation|devicemotion|compassneedscalibration","id":"deviceorientation"},{"title":"Drag and Drop","description":"Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dnd","status":"wd","links":[{"url":"http://html5doctor.com/native-drag-and-drop/","title":"HTML5 Doctor article"},{"url":"http://nettutsplus.s3.amazonaws.com/64_html5dragdrop/demo/index.html","title":"Shopping cart demo"},{"url":"http://html5demos.com/drag","title":"Demo with link blocks"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"a","6":"a","7":"a","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"y","12.5":"y","9.5-9.6":"p"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"p","11.5":"p","12":"p"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"Partial support in IE refers to no support for the dataTransfer.files or .types objects and limited supported formats for dataTransfer.setData/getData.","usage_perc_y":55.67,"usage_perc_a":28.45,"keywords":"draganddrop","detection_pattern":"draggable|dragstart|dragover|dragenter|dragleave|dragend","id":"dragndrop"},{"title":"EOT - Embedded OpenType fonts","description":"Type of font that can be derived from a regular font, allowing small files and legal use of high-quality fonts. Usage is restricted by the file being tied to the website","spec":"http://www.w3.org/Submission/EOT/","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/Embedded_OpenType","title":"Wikipedia"},{"url":"http://www.microsoft.com/typography/web/embedding/default.aspx","title":"Example pages"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"Proposal by Microsoft, being considered for W3C standardization.","usage_perc_y":28.49,"usage_perc_a":0,"parent":"fontface","detection_pattern":"\\.eot","id":"eot"},{"title":"Server-sent DOM events","description":"Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)","spec":"http://www.w3.org/TR/eventsource/","status":"wd","links":[{"url":"http://www.html5rocks.com/tutorials/eventsource/basics/","title":"HTML5 Rocks tutorial"},{"url":"http://samshull.blogspot.com/2010/10/ajax-push-in-ios-safari-and-chrome-with.html","title":"Blog post with demo"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"a"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"a","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":56.9,"usage_perc_a":0.12,"keywords":"serversent,s-sent-events","detection_pattern":"new\\s+EventSource","id":"eventsource"},{"title":"File API","description":"Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data.","spec":"http://www.w3.org/TR/FileAPI/","status":"wd","links":[{"url":"https://developer.mozilla.org/en/Using_files_from_web_applications","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"a","11":"a","12":"a","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"a","4":"a"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"a"},"and_chr":["y"],"and_ff":["y"]},"notes":"Microsoft is currently <a href=\"http://html5labs.interoperabilitybridges.com/html5labs/prototypes/fileapi/fileapi/info/\">experimenting</a> with the technology. Partial support in Safari refers to lacking FileReader support. ","usage_perc_y":51.16,"usage_perc_a":4.31,"keywords":"FileReader","detection_pattern":"(new\\s+FileReader|\\.readAs(ArrayBuffer|BinaryString|Text|DataURL))","id":"fileapi"},{"title":"FileReader API","description":"Method of reading the contents of a File or Blob object into memory","spec":"http://www.w3.org/TR/FileAPI/#dfn-filereader","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/FileReader","title":"FileReader API"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":52.39,"usage_perc_a":0,"parent":"fileapi","detection_pattern":"new\\s+FileReader","id":"filereader"},{"title":"Filesystem & FileWriter API","description":"Method of reading and writing files to a sandboxed file system.\r\n","spec":"http://www.w3.org/TR/file-system-api/","status":"wd","links":[{"url":"http://www.html5rocks.com/en/tutorials/file/filesystem/","title":"HTML5 Rocks tutorial"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"a x","9":"a x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"n"},"and_chr":["y x"],"and_ff":["n"]},"notes":"","usage_perc_y":29.14,"usage_perc_a":0.62,"keywords":"filewriter","detection_pattern":"(webkitR|r)equestFileSystem","id":"filesystem"},{"title":"Flexible Box Layout Module","description":"Method of positioning elements in horizontal or vertical stacks.","spec":"http://www.w3.org/TR/css3-flexbox/","status":"wd","links":[{"url":"http://www.the-haystack.com/2010/01/23/css3-flexbox-part-1/","title":"Introduction with demos"},{"url":"http://hacks.mozilla.org/2010/04/the-css-3-flexible-box-model/","title":"Mozilla hacks article"},{"url":"http://ie.microsoft.com/testdrive/HTML5/Flexin/Default.html","title":"Demo working in IE10"},{"url":"http://flexiejs.com/playground/","title":"Flexbox playground"}],"categories":["CSS3"],"stats":{"ie":{"10":"a x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","2":"a x","3":"a x","3.5":"a x","3.6":"a x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"y x","22":"y x","23":"y x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"safari":{"3.1":"a x","3.2":"a x","4":"a x","5":"a x","5.1":"a x","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"a x","6":"a x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"a x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"a x","7":"a x"},"and_chr":["a x"],"and_ff":["a x"]},"notes":"Partial support refers to supporting an <a href=\"http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/\">older version</a> of the specification or an <a href=\"http://www.w3.org/TR/2012/WD-css3-flexbox-20120322/\">older syntax</a>.","usage_perc_y":0.2,"usage_perc_a":60.32,"keywords":"flex","detection_pattern":"display\\:\\s*(inline-)?flexbox","id":"flexbox"},{"title":"Font feature settings","description":"Method of applying advanced typographic and language-specific font features to supported OpenType fonts.","spec":"http://w3.org/TR/css3-fonts/#font-rend-props","status":"wd","links":[{"url":"http://ie.microsoft.com/testdrive/Graphics/opentype/","title":"Demo pages (IE/Firefox only)"},{"url":"http://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/","title":"Mozilla hacks article"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"y x","16":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"n"},"and_chr":["a x"],"and_ff":["a x"]},"notes":"Partial support in Firefox refers to using an older syntax. Partial support in Chrome refers to lacking support in Mac OS X. ","usage_perc_y":0.38,"usage_perc_a":47.73,"keywords":"font-feature,font-feature-settings,kern,kerning,font-variant-alternates,ligatures,font-variant-ligatures","detection_pattern":"font-(kerning|feature-settings|variant(-(position|ligatures|caps|numeric|alternates|east-asian))?)\\:","id":"font-feature"},{"title":"@font-face Web fonts","description":"Method of displaying fonts downloaded from websites","spec":"http://www.w3.org/TR/css3-webfonts/","status":"wd","links":[{"url":"http://webfonts.info","title":"News and information site"},{"url":"http://opentype.info/blog/category/webfonts/","title":"Blog on web fonts & typography"},{"url":"http://en.wikipedia.org/wiki/Web_typography","title":"Wikipedia"},{"url":"http://www.css3files.com/font/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"a","6":"a","7":"a","8":"a","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"a","2.3":"a","3":"a","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"a"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support before IE9 refers to only supporting EOT fonts. Safari for iOS 4.1 and below only supports SVG fonts.","usage_perc_y":74.15,"usage_perc_a":15.92,"keywords":"font face","detection_pattern":"@font-face\\s*\\{","id":"fontface"},{"title":"Form validation","description":"Method of setting required fields and field types without requiring JavaScript","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#client-side-form-validation","status":"wd","links":[],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in Safari refers to lack of notice when form with required fields is attempted to be submitted.","usage_perc_y":50.67,"usage_perc_a":3.81,"parent":"forms","detection_pattern":"<input.*(required|pattern=['\"].*['\"]).*(\\/>|>.*<\\/input>)","id":"form-validation"},{"title":"HTML5 form features","description":"Expanded form options, including things like date pickers, sliders, validation, placeholders and multiple file uploads. Previously known as \"Web forms 2.0\".","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html","status":"wd","links":[{"url":"http://www.miketaylr.com/code/input-type-attr.html","title":"HTML5 inputs and attribute support page"},{"url":"https://github.com/westonruter/webforms2","title":"Cross-browser JS implementation (based on original spec)"}],"categories":["HTML5"],"stats":{"ie":{"10":"a","5.5":"n","6":"p","7":"p","8":"p","9":"p"},"firefox":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","2":"p","3":"p","3.5":"p","3.6":"p","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"p","3.2":"p","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"n","7":"n"},"and_chr":["a"],"and_ff":["a"]},"notes":"Opera <= 11.50 has almost complete support, but does not support placeholder on textarea fields. Currently file uploading is not possible on iOS Safari.\r\n","usage_perc_y":3.45,"usage_perc_a":54.23,"keywords":"input,datepicker","id":"forms"},{"title":"Full Screen API","description":"API for allowing content (like a video or canvas element) to take up the entire screen.","spec":"http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html","status":"unoff","links":[{"url":"https://developer.mozilla.org/en/DOM/Using_full-screen_mode","title":"MDN article"},{"url":"http://jlongster.com/2011/11/21/canvas.html","title":"Blog post"},{"url":"http://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers/","title":"Mozilla hacks article"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a x","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"a","7":"n"},"and_chr":["n"],"and_ff":["a x"]},"notes":"Partial support refers to supporting an earlier draft of the spec.","usage_perc_y":0,"usage_perc_a":49.45,"keywords":"full-screen","detection_pattern":"[rR]equestFull[sS]creen|[cC]ancelFullScreen|exitFullscreen|fullscreeneventchange","id":"fullscreen"},{"title":"Geolocation","description":"Method of informing a website of the user's geographical location","spec":"http://www.w3.org/TR/geolocation-API/","status":"cr","links":[{"url":"","title":""}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"a","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"p","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":76.61,"usage_perc_a":0.04,"detection_pattern":"navigator\\.geolocation","id":"geolocation"},{"title":"getComputedStyle","description":"API to get the current computed CSS styles applied to an element. This may be the current value applied by an animation or as set by a stylesheet.","spec":"http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle","status":"rec","links":[{"url":"https://developer.mozilla.org/en/DOM/window.getComputedStyle","title":"MDN article"},{"url":"http://ie.microsoft.com/testdrive/HTML5/getComputedStyle/","title":"Demo"},{"url":"http://snipplr.com/view/13523/","title":"Polyfill for IE"}],"categories":["DOM","JS API","CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"a","3.5":"a","3.6":"a","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"a","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"y"},"op_mob":{"10":"a","11.5":"y","12":"y"},"bb":{"10":"y","7":"a"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in older Firefox versions refers to requiring the second parameter to be included. Partial support in all other browsers refers to not supporting getComputedStyle on pseudo-elements.","usage_perc_y":71.57,"usage_perc_a":7.56,"id":"getcomputedstyle"},{"title":"getElementsByClassName","description":"Method of accessing DOM elements by class name","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#dom-document-getelementsbyclassname","status":"wd","links":[{"url":"http://www.quirksmode.org/dom/tests/basics.html#getElementsByClassName","title":"Test page"}],"categories":["DOM","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":79.13,"usage_perc_a":0,"keywords":"byclassname","detection_pattern":"getElementsByClassName\\s*\\(.*\\)","id":"getelementsbyclassname"},{"title":"Hashchange event","description":"Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar) ","spec":"http://www.w3.org/TR/html5/history.html#event-hashchange","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/window.onhashchange","title":"MDN article"},{"url":"http://www.quirksmode.org/dom/events/tests/hashchange.html","title":"Simple demo"},{"url":"http://msdn.microsoft.com/en-us/library/cc288209(VS.85).aspx","title":"MSDN article"}],"categories":["JS API","HTML5"],"stats":{"ie":{"10":"y","5.5":"p","6":"p","7":"p","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"p","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"p","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"p"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"p","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":87.97,"usage_perc_a":0,"keywords":"onhashchange,HashChangeEvent","detection_pattern":"\\.(onhashchange|addEventListener\\s*\\(\\s*['\"]hashchange['\"].*\\))","id":"hashchange"},{"title":"Session history management","description":"Method of manipulating the user's browser's session history in JavaScript using history.pushState, history.replaceState and the popstate event","spec":"http://www.w3.org/TR/html5/history.html","status":"wd","links":[{"url":"http://www.adequatelygood.com/2010/7/Saner-HTML5-History-Management","title":"Introduction to history management"},{"url":"https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history","title":"MDN article"},{"url":"http://html5demos.com/history","title":"Demo page"},{"url":"https://github.com/balupton/history.js","title":"History.js polyfill "}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"a","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Older iOS versions and Android 4.0.4 claim support, but implementation is too buggy to be useful. Partial support in other Safari browsers refers to other buggy behavior.","usage_perc_y":55.03,"usage_perc_a":4.43,"keywords":"onpushstate,onreplacestate","detection_pattern":"history\\.(back|forward|go|pushState|replaceState)","id":"history"},{"title":"New semantic elements","description":"HTML5 offers some new elements, primarily for semantic purposes. The elements include: section, article, aside, hgroup, header, footer, nav, figure, figcaption, time, mark.","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#sections","status":"wd","links":[{"url":"http://blog.whatwg.org/supporting-new-elements-in-ie","title":"Workaround for IE"},{"url":"http://blog.whatwg.org/styling-ie-noscript","title":"Alternate workaround"},{"url":"http://oli.jp/2009/html5-structure3/","title":"Article on structural elements"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"a","3.5":"a","3.6":"a","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"a","5":"a","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"a"},"android":{"2.1":"a","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"a","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support refers to missing the default styling. This is easily taken care of by using display:block for all new elements (except time and mark, these should be display:inline anyway).","usage_perc_y":74.98,"usage_perc_a":4.15,"id":"html5semantic"},{"title":"sandbox attribute for iframes","description":"Method of running external site pages with reduced privileges (i.e. no JavaScript) in iframes","spec":"http://www.w3.org/TR/html5/the-iframe-element.html#attr-iframe-sandbox","status":"wd","links":[{"url":"http://blog.chromium.org/2010/05/security-in-depth-html5s-sandbox.html","title":"Chromium blog article"},{"url":"http://msdn.microsoft.com/en-us/hh563496","title":"MSDN article"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["n"]},"notes":"","usage_perc_y":38.94,"usage_perc_a":0,"id":"iframe-sandbox"},{"title":"IndexedDB","description":"Method of storing data client-side, allows indexed database queries. Previously known as WebSimpleDB API.","spec":"http://www.w3.org/TR/IndexedDB/","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/","title":"Mozilla Hacks article"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"n","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"","usage_perc_y":49.06,"usage_perc_a":0,"keywords":"indexdb","detection_pattern":"IndexedDB|IDB(Cursor|Database|Environment|Factory|Index|KeyRange|ObjectStore|OpenDBRequest|Request|Transaction|VersionChangeEvent)","id":"indexeddb"},{"title":"CSS inline-block","description":"Method of displaying an element as a block while flowing it with text. ","spec":"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning","status":"rec","links":[{"url":"http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/","title":"Blog post w/info"},{"url":"http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/","title":"Info on cross browser support"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"a","6":"a","7":"a","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"a x","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Only supported in IE6 and IE7 on elements with a display of \"inline\" by default. <a href=\"http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/\">Alternative properties</a> are available to provide complete cross-browser support.","usage_perc_y":90.92,"usage_perc_a":1.66,"keywords":"inlineblock","detection_pattern":"display\\:\\s*inline-block","id":"inline-block"},{"title":"Color input type","description":"Form field allowing the user to select a color.","spec":"http://www.w3.org/TR/html5/number-state.html#color-state","status":"wd","links":[{"url":"http://www.html5tutorial.info/html5-color.php","title":"Tutorial"},{"url":"https://github.com/jonstipe/color-polyfill","title":"Polyfill"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"n","7":"y"},"and_chr":["n"],"and_ff":["n"]},"notes":"","usage_perc_y":27.31,"usage_perc_a":0,"parent":"forms","keywords":"colour","detection_pattern":"<input\\s.*type=['\"]?color['\"]?.*(\\/>|>.*<\\/input>)","id":"input-color"},{"title":"Date/time input types","description":"Form field widget to easily allow users to enter dates and/or times, generally by using a calendar widget.","spec":"http://www.w3.org/TR/html5/states-of-the-type-attribute.html#date-and-time-state","status":"wd","links":[{"url":"http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-cross-browser-datepickers-within-minutes/","title":"Datepicker tutorial w/polyfill"},{"url":"https://github.com/zoltan-dulac/html5Widgets","title":"Polyfill for HTML5 forms"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"a","21":"a","22":"a","23":"a","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"n","7":"n"},"and_chr":["y"],"and_ff":["n"]},"notes":"Safari provides date-formatted text fields, but no real calendar widget. Partial support in Chrome refers to a calendar widget for the \"date\" type, but just text fields for all other date/type fields.","usage_perc_y":3.52,"usage_perc_a":25.77,"parent":"forms","keywords":"datepicker,timepicker","detection_pattern":"<input\\s.*type=['\"]?(date|time|datetime(-local)?|month|week)['\"]?.*(\\/>|>.*<\\/input>)","id":"input-datetime"},{"title":"Number input type","description":"Form field type for numbers.","spec":"http://www.w3.org/TR/html5/number-state.html","status":"wd","links":[{"url":"http://www.html5tutorial.info/html5-number.php","title":"Tutorial"},{"url":"https://github.com/jonstipe/number-polyfill","title":"Polyfill"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"u","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"a"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"a","7":"n"},"and_chr":["a"],"and_ff":["n"]},"notes":"iOS Safari, Android 4 and Chrome for Android show number input, but do not use \"step\", \"min\" or \"max\" attributes or show increment/decrement buttons.","usage_perc_y":35.1,"usage_perc_a":3.12,"parent":"forms","keywords":"spinner","detection_pattern":"<input\\s.*type=['\"]?number['\"]?.*(\\/>|>.*<\\/input>)","id":"input-number"},{"title":"input placeholder attribute","description":"Method of setting placeholder text for text-like input fields, to suggest the expected inserted information.","spec":"http://dev.w3.org/html5/spec/Overview.html#attr-input-placeholder","status":"wd","links":[{"url":"http://www.zachleat.com/web/placeholder/","title":"Article on usage"},{"url":"https://github.com/mathiasbynens/jquery-placeholder","title":"Polyfill"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"a","11.1":"a","11.5":"a","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in older Safari and Opera versions refers to lacking placeholder support on textarea elements. ","usage_perc_y":60.13,"usage_perc_a":0.23,"parent":"forms","id":"input-placeholder"},{"title":"Range input type","description":"Form field type that allows the user to select a value using a slider widget.","spec":"http://www.w3.org/TR/html5/number-state.html#range-state","status":"wd","links":[{"url":"https://github.com/fryn/html5slider","title":"Polyfill for Firefox"},{"url":"https://github.com/freqdec/fd-slider","title":"Cross-browser polyfill"},{"url":"http://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input/","title":"Tutorial"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"u","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["n"]},"notes":"Currently all Android browsers hide the slider input field by default. However, the element <a href=\"http://tiffanybbrown.com/2012/02/07/input-typerange-and-androids-stock-browser/\">can be styled</a> to be made visible and usable.","usage_perc_y":37.49,"usage_perc_a":2.57,"parent":"forms","detection_pattern":"<input\\s.*type=['\"]?range['\"]?.*(\\/>|>.*<\\/input>)","id":"input-range"},{"title":"JSON parsing","description":"Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON.stringify() and JSON.parse()","spec":"http://es5.github.com/#x15.12","status":"other","links":[{"url":"https://developer.mozilla.org/En/Using_native_JSON","title":"MDN article"},{"url":"http://www.json.org/js.html","title":"JSON in JS (includes script w/support)"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Requires document to be in IE8+ <a href=\"http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx\">standards mode</a> to work in IE8.","usage_perc_y":90.56,"usage_perc_a":0,"id":"json"},{"title":"matchesSelector","description":"Method of testing whether or not a DOM element matches a given selector.","spec":"http://www.w3.org/TR/selectors-api2/","status":"wd","links":[{"url":"https://developer.mozilla.org/en/DOM/Element.mozMatchesSelector","title":"MDN article"}],"categories":["JS API","DOM"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"y x"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","2":"n","3":"n","3.5":"n","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"y x","11.6":"y x","12":"y x","12.5":"y x","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"y x","2.3":"y x","3":"y x","4":"y x"},"op_mob":{"10":"n","11.5":"y x","12":"y x"},"bb":{"10":"y x","7":"y x"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"","usage_perc_y":76.14,"usage_perc_a":0,"detection_pattern":"((moz|webkit|o|ms)M|m)atchesSelector","id":"matchesselector"},{"title":"matchMedia","description":"API for finding out whether or not a media query applies to the document.","spec":"http://www.w3.org/TR/cssom-view/#dom-window-matchmedia","status":"wd","links":[{"url":"https://github.com/paulirish/matchMedia.js/","title":"matchMedia.js polyfill"},{"url":"https://developer.mozilla.org/en/DOM/window.matchMedia","title":"MDN article"},{"url":"https://developer.mozilla.org/en/CSS/Using_media_queries_from_code","title":"MDN tutorial"}],"categories":["JS API","DOM"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"n","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":54.02,"usage_perc_a":0,"keywords":"mediaquerylist","detection_pattern":".matchMedia\\s*\\(.*\\)","id":"matchmedia"},{"title":"MathML","description":"An XML language that allows mathematical formulas and notations to be written on web pages.","spec":"http://www.w3.org/TR/REC-MathML/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/MathML","title":"Wikipedia"},{"url":"http://www.mozilla.org/projects/mathml/demo/","title":"MathML demos"},{"url":"http://golem.ph.utexas.edu/~distler/blog/archives/001588.html","title":"Info on Opera's MathML support"},{"url":"http://www.mathjax.org","title":"Cross-browser support script"},{"url":"https://developer.mozilla.org/en/MathML/Element","title":"MDN element reference"}],"categories":["Other"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"u","23":"u","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"y","6":"y"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.5":"a","9.5-9.6":"a"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p"},"op_mob":{"10":"p","11.5":"p","12":"p"},"bb":{"10":"p","7":"p"},"and_chr":["p"],"and_ff":["y"]},"notes":"Opera's support is limited to a CSS profile of MathML. Expected to be supported in an upcoming version of Chrome, as support is available in Webkit builds.","usage_perc_y":26.07,"usage_perc_a":1.46,"detection_pattern":"<math.*>.*<\\/math>","id":"mathml"},{"title":"Toolbar/context menu","description":"Method of defining a toolbar menu, a context menu or a list of (interactive) options using the &lt;menu> element.","spec":"http://www.w3.org/TR/html5/interactive-elements.html#menus","status":"wd","links":[{"url":"https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309","title":"Demo"},{"url":"http://addyosmani.github.com/jQuery-contextMenu/","title":"jQuery polyfill"}],"categories":["HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"a","9":"a"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"u","23":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"Partial support in Firefox refers to using the non-standard \"menuitem\" child elements, where the current spec uses \"<a href=\"http://www.w3.org/TR/html5/interactive-elements.html#the-command-element\">command</a>\" child elements. It is also currently limited to context menus, not toolbar menus.","usage_perc_y":0,"usage_perc_a":18.49,"keywords":"contextmenu,menuitem,command","detection_pattern":"<menu.*>.*<\\/menu>","id":"menu"},{"title":"CSS min/max-width/height","description":"Method of setting a minimum or maximum width or height to an element. ","spec":"http://www.w3.org/TR/CSS21/visudet.html#min-max-widths","status":"rec","links":[{"url":"http://reference.sitepoint.com/css/dimensions","title":"Sitepoint reference"},{"url":"http://code.google.com/p/ie7-js/","title":"JS library with support"}],"categories":["CSS2"],"stats":{"ie":{"10":"y","5.5":"p","6":"p","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"IE7 does not support \"inherit\" as a value on any of these properties. IE8 has some bugs with max-width/height combined with overflow: auto/scroll.","usage_perc_y":92.11,"usage_perc_a":0,"keywords":"min-width,min-height,max-width,max-height","detection_pattern":"(min|max)-width\\:","id":"minmaxwh"},{"title":"MPEG-4/H.264 video format","description":"Commonly used video compression format (not royalty-free)","spec":"http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC","title":"Wikipedia article"},{"url":"http://www.interoperabilitybridges.com/html5-extension-for-wmp-plugin","title":"Firefox extension allowing support in Win7"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["n"]},"notes":"Support in Chrome may <a href=\"http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html\">be dropped</a> in some upcoming version. The Android 2.3 browser currently requires <a href=\"http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/\">specific handling</a> to play videos. Firefox <a href=\"http://blog.lizardwrangler.com/2012/03/18/video-user-experience-and-our-mission/\">may include support</a> on some platforms in an upcoming version.","usage_perc_y":51.89,"usage_perc_a":2.57,"parent":"video","keywords":"avc,mp4,mpv,mov,aac","id":"mpeg4"},{"title":"CSS3 Multiple backgrounds","description":"Method of using multiple images as a background","spec":"http://www.w3.org/TR/css3-background/","status":"cr","links":[{"url":"http://www.css3.info/preview/multiple-backgrounds/","title":"Demo & information page"},{"url":"http://www.css3files.com/background/","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":78.63,"usage_perc_a":0,"detection_pattern":"background-image\\:\\s*url\\(['\"]?.*['\"]?\\)\\s*(,\\s*url\\(['\"]?.*['\"]?\\)\\s*)+","id":"multibackgrounds"},{"title":"CSS3 Multiple column layout","description":"Method of flowing information in multiple columns","spec":"http://www.w3.org/TR/css3-multicol/","status":"cr","links":[{"url":"http://dev.opera.com/articles/view/css3-multi-column-layout/","title":"Dev.Opera article"},{"url":"http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/an-introduction-to-the-css3-multiple-column-layout-module/","title":"Introduction page"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","2":"a x","3":"a x","3.5":"a x","3.6":"a x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","4":"a x","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"safari":{"3.1":"a x","3.2":"a x","4":"a x","5":"a x","5.1":"a x","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"a x","4.2-4.3":"a x","5.0-5.1":"a x","6":"a x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a x","2.2":"a x","2.3":"a x","3":"a x","4":"a x"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"a x","7":"a x"},"and_chr":["a x"],"and_ff":["a x"]},"notes":"Partial support refers to not supporting the break-before, break-after, break-inside properties. Webkit browsers do have equivalent support for the non-standard -webkit-column-break-* properties.","usage_perc_y":1.44,"usage_perc_a":60.48,"keywords":"column-count","id":"multicolumn"},{"title":"Web Storage - name/value pairs","description":"Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5).","spec":"http://www.w3.org/TR/webstorage/#storage","status":"wd","links":[{"url":"https://developer.mozilla.org/En/DOM/Storage","title":"Gecko reference"},{"url":"http://code.google.com/p/sessionstorage/","title":"Support library"},{"url":"http://html5demos.com/storage","title":"Simple demo"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"a","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":88.56,"usage_perc_a":0.25,"keywords":"webstorage,local storage","detection_pattern":"localStorage|sessionStorage","id":"namevalue-storage"},{"title":"Navigation Timing API","description":"API for accessing timing information related to navigation and elements.","spec":"http://www.w3.org/TR/navigation-timing/","status":"cr","links":[{"url":"https://developer.mozilla.org/en/API/navigationTiming","title":"MDN article"},{"url":"http://www.html5rocks.com/en/tutorials/webperformance/basics/","title":"HTML5 Rocks tutorial"}],"categories":["JS API","DOM"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"y","8":"y","9":"y"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":64,"usage_perc_a":0,"keywords":"performance,performance.timing","detection_pattern":"window\\.performance","id":"nav-timing"},{"title":"Web Notifications","description":"Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).","spec":"http://www.w3.org/TR/notifications/","status":"wd","links":[{"url":"http://www.html5rocks.com/tutorials/notifications/quick/","title":"HTML5 Rocks tutorial"},{"url":"http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification","title":"Chromium API"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"a x","11":"a x","12":"a x","13":"a x","14":"a x","15":"a x","16":"a x","17":"a x","18":"a x","19":"a x","20":"a x","21":"a x","22":"a x","23":"a x","4":"n","5":"a x","6":"a x","7":"a x","8":"a x","9":"a x"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"a x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"n"},"and_chr":["a x"],"and_ff":["n"]},"notes":"Partial support in Chrome refers to using an <a href=\"http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification\">older version of the spec</a>. Partial support in Safari refers to support being limited to Safari in Mountain Lion.","usage_perc_y":0,"usage_perc_a":30.04,"detection_pattern":"create(HTML)?Notification","id":"notifications"},{"title":"CSS3 object-fit/object-position","description":"Method of specifying how an object (image or video) should fit inside its box. object-fit options include \"contain\" (fit according to aspect ratio), \"fill\" (stretches object to fill) and \"cover\" (overflows box but maintains ratio), where object-position allows the object to be repositioned like background-image does.","spec":"http://www.w3.org/TR/css3-images/","status":"cr","links":[{"url":"http://dev.opera.com/articles/view/css3-object-fit-object-position/","title":"Dev.Opera article"}],"categories":["CSS3"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"u","23":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.5":"y x","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"y x","12":"y x"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"","usage_perc_y":1.45,"usage_perc_a":0,"keywords":"objectfit,objectposition","detection_pattern":"object-fit\\:","id":"object-fit"},{"title":"Offline web applications","description":"Method of defining web page files to be cached using a cache manifest file, allowing them to work offline on subsequent visits to the page","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html","status":"wd","links":[{"url":"http://www.sitepoint.com/offline-web-application-tutorial/","title":"Sitepoint tutorial"},{"url":"http://diveinto.org/html5/offline.html","title":"Dive Into HTML5 article"},{"url":"http://hacks.mozilla.org/2010/01/offline-web-applications/","title":"Mozilla Hacks article/demo"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":61.71,"usage_perc_a":0.2,"keywords":"appcache,app cache,application cache,online","detection_pattern":"<html.*\\smanifest=.*>","id":"offline-apps"},{"title":"Ogg/Theora video format","description":"Free lossy video compression format.","spec":"http://theora.org/doc/","status":"other","links":[{"url":"http://en.wikipedia.org/wiki/Theora","title":"Wikipedia article"}],"categories":["Other"],"stats":{"ie":{"10":"u p","5.5":"n","6":"n","7":"n","8":"n","9":"p"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["y"]},"notes":"","usage_perc_y":52.22,"usage_perc_a":0,"parent":"video","keywords":"xiph","id":"ogv"},{"title":"PNG alpha transparency","description":"Semi-transparent areas in PNG files","spec":"http://www.w3.org/TR/PNG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Portable_Network_Graphics","title":"Wikipedia"},{"url":"http://dillerdesign.com/experiment/DD_belatedPNG/","title":"Workaround for IE6"}],"categories":["PNG"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs.","usage_perc_y":92.11,"usage_perc_a":0,"id":"png-alpha"},{"title":"pointer-events (for HTML)","description":"This CSS property, when set to \"none\" allows elements to not receive hover/click events, instead the event will occur on anything behind it. ","spec":"http://wiki.csswg.org/spec/css4-ui#pointer-events","status":"unoff","links":[{"url":"http://robertnyman.com/2010/03/22/css-pointer-events-to-allow-clicks-on-underlying-elements/","title":"Article & tutorial"}],"categories":["CSS3"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements.","usage_perc_y":59.98,"usage_perc_a":0,"keywords":"pointerevents","id":"pointer-events"},{"title":"Progress & Meter","description":"Method of indicating a progress state (progress element) or the current level of a gauge (meter element).\r\n","spec":"http://www.w3.org/TR/html5/the-button-element.html#the-progress-element","status":"wd","links":[{"url":"http://dev.opera.com/articles/view/new-form-features-in-HTML5/#newoutput","title":"Dev.Opera article"},{"url":"http://html5doctor.com/measure-up-with-the-meter-tag/","title":"HTML5 Doctor on meter element "},{"url":"http://peter.sh/examples/?/html/meter-progress.html","title":"Examples of progress and meter elements"}],"categories":["HTML5"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["a"]},"notes":"Partial support in Firefox 6+ and IE10 refers to supporting the progress element, but not the meter element.","usage_perc_y":31.41,"usage_perc_a":19.02,"parent":"forms","detection_pattern":"<progress.*>.*<\\/progress>|<meter.*><\\/meter>","id":"progressmeter"},{"title":"querySelector/querySelectorAll","description":"Method of accessing DOM elements using CSS selectors","spec":"http://www.w3.org/TR/selectors-api/","status":"cr","links":[{"url":"https://developer.mozilla.org/en/DOM/element.querySelector","title":"MDN article on querySelector"},{"url":"https://developer.mozilla.org/En/DOM/Element.querySelectorAll","title":"MDN article on querySelectorAll"},{"url":"http://cjihrig.com/blog/javascripts-selectors-api/","title":"Blog post"}],"categories":["DOM"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"p"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Only works for the CSS selectors available. Thus the IE8 implementation is limited to the CSS 2.1 selectors","usage_perc_y":90.67,"usage_perc_a":0,"keywords":"query,selectors,selectors api","detection_pattern":"querySelector(All)?","id":"queryselector"},{"title":"rem (root em) units","description":"Type of unit similar to \"em\", but relative only to the root element, not any parent element. Thus compounding does not occur as it does with \"em\" units.","spec":"http://www.w3.org/TR/css3-values/#relative0","status":"wd","links":[{"url":"http://snook.ca/archives/html_and_css/font-size-with-rem","title":"Article on usage"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"u","5":"u","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":76.09,"usage_perc_a":0,"id":"rem"},{"title":"requestAnimationFrame","description":"API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts.","spec":"http://www.w3.org/TR/animation-timing/#requestAnimationFrame","status":"wd","links":[{"url":"http://paulirish.com/2011/requestanimationframe-for-smart-animating/","title":"Blog post"},{"url":"http://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval-to-requestanimationframe/","title":"Mozilla Hacks article"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"n"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"","usage_perc_y":49.3,"usage_perc_a":0,"detection_pattern":"(cancel|request)AnimationFrame","id":"requestanimationframe"},{"title":"Ruby annotation","description":"Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography)","spec":"http://www.w3.org/TR/html-markup/ruby.html","status":"wd","links":[{"url":"http://html5doctor.com/ruby-rt-rp-element/","title":"HTML5 Doctor article"},{"url":"https://addons.mozilla.org/en-US/firefox/addon/1935/","title":"Add-on for support in Firefox"}],"categories":["HTML5"],"stats":{"ie":{"10":"a","5.5":"a","6":"a","7":"a","8":"a","9":"a"},"firefox":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"u p","16":"u p","2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","4":"p","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.5":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"a","4":"a"},"op_mob":{"10":"p","11.5":"p","12":"p"},"bb":{"10":"a","7":"p"},"and_chr":["a"],"and_ff":["p"]},"notes":"Browsers without native support can still simulate support using CSS. Partial support refers to only supporting basic ruby, may still be missing writing-mode, Complex ruby and CSS3 Ruby","usage_perc_y":0,"usage_perc_a":64.5,"detection_pattern":"<ruby.*>.*<\\/ruby>","id":"ruby"},{"title":"async attribute for external scripts","description":"The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first.","spec":"http://www.w3.org/TR/html5/scripting-1.html#attr-script-async","status":"wd","links":[{"url":"https://developer.mozilla.org/en/HTML/Element/script#Attributes","title":"MDN article"},{"url":"http://ie.microsoft.com/testdrive/Performance/AsyncScripts/Default.html","title":"Demo"}],"categories":["DOM","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":56.63,"usage_perc_a":0,"detection_pattern":"<script\\s.*async.*>","id":"script-async"},{"title":"defer attribute for external scripts","description":"The boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first.","spec":"http://www.w3.org/TR/html5/scripting-1.html#attr-script-defer","status":"wd","links":[{"url":"https://developer.mozilla.org/en/HTML/Element/script#Attributes","title":"MDN article"}],"categories":["DOM","HTML5"],"stats":{"ie":{"10":"y","5.5":"y","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":85.31,"usage_perc_a":0,"detection_pattern":"<script\\s.*defer.*>","id":"script-defer"},{"title":"Shared Web Workers","description":"Method of allowing multiple scripts to communicate with a single web worker.","spec":"http://www.w3.org/TR/workers/#shared-workers-introduction","status":"wd","links":[{"url":"http://www.sitepoint.com/javascript-shared-web-workers-html5/","title":"Sitepoint article"},{"url":"http://greenido.wordpress.com/2011/11/03/web-workers-part-3-out-of-3-shared-wrokers/","title":"Blog post"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"u","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["n"],"and_ff":["n"]},"notes":"","usage_perc_y":37.22,"usage_perc_a":0,"parent":"webworkers","keywords":"shared worker","detection_pattern":"new\\s+SharedWorker\\s*\\(.*\\)","id":"sharedworkers"},{"title":"SPDY networking protocol","description":"Networking protocol for low-latency transport of content over the web.","spec":"http://tools.ietf.org/html/draft-mbelshe-httpbis-spdy-00","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/SPDY","title":"Wikipedia"},{"url":"http://dev.chromium.org/spdy/spdy-whitepaper","title":"SPDY whitepaper"}],"categories":["Other"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"a","12":"a","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"u","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in Firefox refers to being disabled by default.","usage_perc_y":45.05,"usage_perc_a":2.37,"id":"spdy"},{"title":"Web SQL Database","description":"Method of storing data client-side, allows Sqlite database queries for access and manipulation","spec":"http://www.w3.org/TR/webdatabase/","status":"unoff","links":[{"url":"http://html5doctor.com/introducing-web-sql-databases/","title":"HTML5 Doctor article"}],"categories":["JS API"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["n"]},"notes":"The Web SQL Database specification is no longer being maintained and support may be dropped in future versions.","usage_perc_y":40.83,"usage_perc_a":0,"keywords":"db-storage,websql","id":"sql-storage"},{"title":"getUserMedia/Stream API","description":"Method of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the &lt;device> element.","spec":"http://www.w3.org/TR/webrtc/","status":"wd","links":[{"url":"http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview","title":"Technology preview from Opera"}],"categories":["JS API","HTML5"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"y"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"","usage_perc_y":1.22,"usage_perc_a":0,"keywords":"camera,device,getUserMedia,media stream,Media Capture API","detection_pattern":"getUserMedia","id":"stream"},{"title":"SVG (basic support)","description":"Method of displaying basic Vector Graphics features using the embed or object elements","spec":"http://www.w3.org/Graphics/SVG/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/Scalable_Vector_Graphics","title":"Wikipedia"},{"url":"http://www.alistapart.com/articles/using-svg-for-flexible-scalable-and-fun-backgrounds-part-i","title":"A List Apart article"},{"url":"http://svg-wow.org/","title":"SVG showcase site"},{"url":"http://code.google.com/p/svgweb/","title":"SVG Web: Flash-based polyfill"},{"url":"http://svg-edit.googlecode.com","title":"Web-based SVG editor"}],"categories":["SVG"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"a","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":76.89,"usage_perc_a":0.06,"detection_pattern":"<svg.*>.*<\\/svg>","id":"svg"},{"title":"SVG in CSS backgrounds","description":"Method of using SVG images as CSS backgrounds","spec":"http://www.w3.org/TR/css3-background/#background-image","status":"cr","links":[{"url":"http://designfestival.com/a-farewell-to-css3-gradients/","title":"Tutorial for advanced effects"}],"categories":["SVG","CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"a","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"a","4":"a","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in iOS Safari refers to buggy behavior.","usage_perc_y":72.44,"usage_perc_a":2.93,"keywords":"svg-in-css,svgincss,css-svg","id":"svg-css"},{"title":"SVG filters","description":"Method of using photoshop-like effects on SVG objects including blurring and color manipulation.","spec":"http://www.w3.org/TR/SVG/filters.html","status":"rec","links":[{"url":"http://electricbeach.org/?p=950","title":"Experiments with filter effects"},{"url":"http://svg-wow.org/blog/category/filters/","title":"SVG filter demos"}],"categories":["SVG"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"a","6":"a","7":"a","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":54.57,"usage_perc_a":0.17,"id":"svg-filters"},{"title":"SVG fonts","description":"Method of using fonts defined as SVG shapes","spec":"http://www.w3.org/TR/SVG/fonts.html","status":"rec","links":[{"url":"http://jeremie.patonnier.net/post/2011/02/07/Why-are-SVG-Fonts-so-different","title":"Blog post"},{"url":"http://opentype.info/blog/2010/04/13/the-ipad-and-svg-fonts-in-mobile-safari/","title":"Blog post on usage for iPad"}],"categories":["SVG"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["n"]},"notes":"Supported in Opera Mini in SVG images only, not in HTML.","usage_perc_y":38.67,"usage_perc_a":0,"parent":"fontface","id":"svg-fonts"},{"title":"SVG effects for HTML","description":"Method of using SVG transforms, filters, etc on HTML elements using either CSS or the foreignObject element","spec":"http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement","status":"wd","links":[{"url":"https://developer.mozilla.org/en/SVG/Tutorial/Other_content_in_SVG","title":"MDN Tutorial"},{"url":"https://developer.mozilla.org/En/Applying_SVG_effects_to_HTML_content","title":"MDN Reference page"},{"url":"https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html","title":"Filter Effects draft"}],"categories":["SVG"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"a"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"a","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.5":"a","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"a","11.5":"a","12":"a"},"bb":{"10":"y","7":"n"},"and_chr":["a"],"and_ff":["y"]},"notes":"Partial support refers to lack of filter support or buggy result from effects. A <a href=\"https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html\">CSS Filter Effects</a> specification is in the works that would replace this method.","usage_perc_y":20.85,"usage_perc_a":53.48,"id":"svg-html"},{"title":"Inline SVG in HTML5","description":"Method of using SVG tags directly in HTML documents. Requires HTML5 parser.","spec":"http://dev.w3.org/html5/spec/the-canvas-element.html#svg-0","status":"wd","links":[{"url":"http://hacks.mozilla.org/2010/05/firefox-4-the-html5-parser-inline-svg-speed-and-more/","title":"Mozilla Hacks blog post"},{"url":"http://samples.msdn.microsoft.com/ietestcenter/html5/svghtml_harness.htm?url=SVG_HTML_Elements_001","title":"Test suite"}],"categories":["SVG","HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"p","5":"p","6":"p","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.5":"y","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"p","11.5":"p","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":71.19,"usage_perc_a":0,"id":"svg-html5"},{"title":"SVG in HTML img element","description":"Method of displaying SVG images in HTML using &lt;img>","spec":"http://www.w3.org/TR/html5/embedded-content-1.html#the-img-element","status":"wd","links":[{"url":"http://blog.dholbert.org/2010/10/svg-as-image.html","title":"Blog post with examples"},{"url":"http://www.codedread.com/blog/","title":"Blog with SVGs an images"}],"categories":["SVG"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"a","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in Safari 3.2 refers to buggy behavior with certain SVG images.","usage_perc_y":75.29,"usage_perc_a":0.09,"keywords":"svg-as-img,svg-in-img","id":"svg-img"},{"title":"SVG SMIL animation","description":"Method of using animation elements to animate SVG images","spec":"http://www.w3.org/TR/SVG/animate.html","status":"rec","links":[{"url":"http://svg-wow.org/blog/category/animation/","title":"Examples on SVG WOW"},{"url":"https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL","title":"MDN article"}],"categories":["SVG"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"p","3.6":"p","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"a","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in Safari refers to not working in HTML files.","usage_perc_y":51.47,"usage_perc_a":6.73,"id":"svg-smil"},{"title":"CSS3 Text-overflow","description":"Append ellipsis when text overflows its containing element","spec":"http://www.w3.org/TR/css3-ui/#text-overflow0","status":"wd","links":[{"url":"http://www.css3files.com/text/","title":"Information page"},{"url":"https://developer.mozilla.org/En/CSS/Text-overflow","title":"MDN article"},{"url":"http://devongovett.wordpress.com/2009/04/06/text-overflow-ellipsis-for-firefox-via-jquery/","title":"jQuery polyfill for Firefox"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y x","10.5":"y x","10.6":"y x","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y x"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y x"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y x","11.5":"y x","12":"y x"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Opera also supports the non-standard <a href=\"http://dev.opera.com/static/dstorey/text/text-overflow.html\">-o-ellipsis-lastline</a> value.","usage_perc_y":90.22,"usage_perc_a":0,"keywords":"textoverflow,ellipsis","detection_pattern":"text-overflow\\:","id":"text-overflow"},{"title":"CSS text-stroke","description":"Method of declaring the outline (stroke) width and color for text.","spec":"http://developer.apple.com/library/safari/documentation/appleapplications/reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266-_webkit_text_stroke","status":"unoff","links":[{"url":"http://css-tricks.com/7405-adding-stroke-to-web-text/","title":"Information & workarounds"},{"url":"http://www.westciv.com/tools/textStroke/","title":"Live editor"}],"categories":["CSS"],"stats":{"ie":{"10":"u","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"a x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"n","4":"y x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"y x"},"and_chr":["y x"],"and_ff":["n"]},"notes":"Does not yet appear in any W3C specification. Was briefly included in a spec as the \"text-outline\" property, but this was removed.","usage_perc_y":39.23,"usage_perc_a":0.08,"keywords":"textstroke,stroke-color,stroke-width,fill-color","id":"text-stroke"},{"title":"Touch events","description":"Method of registering when, where and how the interface is touched, for devices with a touch screen. These DOM events are similar to mousedown, mousemove, etc.","spec":"http://www.w3.org/TR/touch-events/","status":"wd","links":[{"url":"http://www.quirksmode.org/mobile/tableTouch.html","title":"Detailed support tables"},{"url":"http://schepers.cc/getintouch","title":"Information on the spec development"},{"url":"http://www.quirksmode.org/m/tests/drag2.html","title":"Multi-touch demo"}],"categories":["DOM","JS API"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"u","23":"u","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"n"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in IE10 refers to using \"<a href=\"http://msdn.microsoft.com/en-us/ie/hh272903.aspx#_DOMTouch\">Pointer events</a>\".","usage_perc_y":24.59,"usage_perc_a":0.6,"keywords":"touchstart,touchend,touchmove,touchenter,touchleave,touchcancel","detection_pattern":"touch(start|end|move|cancel)|createTouch(List)?","id":"touch"},{"title":"CSS3 Transforms","description":"Method of transforming an element including rotating, scaling, etc.","spec":"http://www.w3.org/TR/css3-2d-transforms/","status":"wd","links":[{"url":"http://www.westciv.com/tools/transforms/","title":"Live editor"},{"url":"https://developer.mozilla.org/en/CSS/-moz-transform","title":"MDN article"},{"url":"http://www.webresourcesdepot.com/cross-browser-css-transforms-csssandpaper/","title":"Workaround script for IE"},{"url":"http://www.css3files.com/transform/","title":"Information page"},{"url":"http://www.useragentman.com/IETransformsTranslator/","title":"Converter for IE"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"y x"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y","2":"n","3":"n","3.5":"y x","3.6":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"y x","5":"y x","6":"y x","7":"y x","8":"y x","9":"y x"},"safari":{"3.1":"y x","3.2":"y x","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"y x","10.6":"y x","11":"y x","11.1":"y x","11.5":"y x","11.6":"y x","12":"y x","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y x","2.2":"y x","2.3":"y x","3":"y x","4":"y x"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y x","7":"y x"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"The scale transform can be emulated in IE < 9 using Microsoft's \"zoom\" extension, others are (not easily) possible using the MS Matrix filter","usage_perc_y":76.78,"usage_perc_a":0,"keywords":"transformation,rotation,rotate,scale,css-transforms","id":"transforms2d"},{"title":"CSS3 3D Transforms","description":"Method of transforming an element in the third dimension","spec":"http://www.w3.org/TR/css3-3d-transforms/","status":"wd","links":[{"url":"http://css3.bradshawenterprises.com/flip/","title":"Multi-browser demo"},{"url":"http://hacks.mozilla.org/2011/10/css-3d-transformations-in-firefox-nightly/","title":"Mozilla hacks article"}],"categories":["CSS3"],"stats":{"ie":{"10":"y x","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y x","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"y x","13":"y x","14":"y x","15":"y x","16":"y x","17":"y x","18":"y x","19":"y x","20":"y x","21":"y x","22":"y x","23":"y x","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"y x","5":"y x","5.1":"y x","6":"y x"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"n","9.5-9.6":"n"},"ios_saf":{"3.2":"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6":"y x"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y x","4":"y x"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"y x","7":"n"},"and_chr":["y x"],"and_ff":["y x"]},"notes":"","usage_perc_y":54.12,"usage_perc_a":0,"keywords":"css 3d,3dtransforms","id":"transforms3d"},{"title":"TTF/OTF - TrueType and OpenType font support","description":"Support for the TrueType (.ttf)and OpenType (.otf) outline font formats in @font-face. ","spec":"http://developer.apple.com/fonts/TTRefMan/index.html","status":"other","links":[],"categories":["CSS3"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"n","9":"a"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in IE9 refers to the fonts only working <a href=\"http://blogs.msdn.com/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design.aspx\">when set to be \"installable\"</a>.","usage_perc_y":61.36,"usage_perc_a":15.1,"parent":"fontface","detection_pattern":"\\.ttf","id":"ttf"},{"title":"Typed Arrays","description":"JavaScript typed arrays provide a mechanism for accessing raw binary data much more efficiently.\r\n","spec":"http://www.khronos.org/registry/typedarray/specs/latest/","status":"other","links":[{"url":"https://developer.mozilla.org/en/javascript_typed_arrays","title":"MDN article"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"y"},"bb":{"10":"y","7":"n"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":56.57,"usage_perc_a":0,"keywords":"float64array,dataview,uint8array","id":"typedarrays"},{"title":"ECMAScript 5 Strict Mode","description":"Method of placing code in a \"strict\" operating context.","spec":"http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf","status":"other","links":[{"url":"http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/","title":"Information page"},{"url":"http://javascriptweblog.wordpress.com/2011/05/03/javascript-strict-mode/","title":"Article with test suite"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"n","11":"n","12":"n","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in Safari refers to strict mode still accepting a lot of JS that should be considered invalid.","usage_perc_y":52.42,"usage_perc_a":3.81,"id":"use-strict"},{"title":"Video element","description":"Method of playing videos on webpages (without requiring a plug-in)","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#video","status":"wd","links":[{"url":"http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/","title":"Detailed article on video/audio elements"},{"url":"http://webmproject.org","title":"WebM format information"},{"url":"http://camendesign.co.uk/code/video_for_everybody","title":"Video for Everybody"},{"url":"http://diveinto.org/html5/video.html","title":"Video on the Web - includes info on Android support"}],"categories":["HTML5"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a","2.2":"a","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Different browsers have support for different video formats, see sub-features for details. \r\n\r\nThe Android browser (before 2.3) requires <a href=\"http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/\">specific handling</a> to run the video element.","usage_perc_y":76.2,"usage_perc_a":0.57,"keywords":"<video>","detection_pattern":"<video.*>.*<\\/video>","id":"video"},{"title":"Viewport units: vw, vh, vmin","description":"Length units representing 1% of the viewport size for viewport width (vw), height (vh) or the smallest of the two (vmin).","spec":"http://www.w3.org/TR/css3-values/#viewport-relative-lengths","status":"wd","links":[{"url":"http://css-tricks.com/viewport-sized-typography/","title":"Blog post"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"a"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"u","16":"u","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"n","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"u","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["n"]},"notes":"Partial support in IE9 refers to not supporting the unit for font size, and supporting \"vm\" instead of \"vmin\".","usage_perc_y":25.92,"usage_perc_a":15.05,"keywords":"vm,viewport-percentage","id":"viewport-units"},{"title":"WAI-ARIA Accessibility features","description":"Method of providing ways for people with disabilities to use dynamic web content and web applications.","spec":"http://www.w3.org/TR/wai-aria/","status":"cr","links":[{"url":"http://www.w3.org/WAI/intro/aria","title":"Information page"},{"url":"http://www.paciellogroup.com/blog/2011/10/browser-assistive-technology-tests-redux/","title":"Links to various test results"},{"url":"http://en.wikipedia.org/wiki/WAI-ARIA","title":"Wikipedia"},{"url":"http://www.alistapart.com/articles/the-accessibility-of-wai-aria/","title":"ALA Article"},{"url":"http://zufelt.ca/blog/are-you-confused-html5-and-wai-aria-yet","title":"HTML5/WAI-ARIA information"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"y","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"a","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"a","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.5":"a","9.5-9.6":"a"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"a"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"a","11.5":"a","12":"a"},"bb":{"10":"n","7":"n"},"and_chr":["a"],"and_ff":["y"]},"notes":"","usage_perc_y":47.94,"usage_perc_a":40.32,"keywords":"wai,aria","id":"wai-aria"},{"title":"WebGL - 3D Canvas graphics","description":"Method of generating dynamic 3D graphics using JavaScript, accelerated through hardware","spec":"https://www.khronos.org/registry/webgl/specs/1.0/","status":"other","links":[{"url":"http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation","title":"Instructions on enabling WebGL"},{"url":"http://www.khronos.org/webgl/wiki/Tutorial","title":"Tutorial"},{"url":"http://hacks.mozilla.org/2009/12/webgl-draft-released-today/","title":"Firefox blog post"},{"url":"http://webkit.org/blog/603/webgl-now-available-in-webkit-nightlies/","title":"Webkit blog post"},{"url":"http://iewebgl.com/","title":"Polyfill for IE"}],"categories":["Canvas"],"stats":{"ie":{"10":"u","5.5":"n","6":"p","7":"p","8":"p","9":"p"},"firefox":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"n","7":"n","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"a","12.5":"a","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"n","12":"a"},"bb":{"10":"n","7":"n"},"and_chr":["n"],"and_ff":["y"]},"notes":"Support listed as \"partial\" refers to the fact that not all users with these browsers have WebGL access. This is due to the additional requirement for users to have <a href=\"http://blog.mozilla.com/bjacob/2011/03/28/do-users-actually-get-hardware-acceleration/\">up to date video drivers</a>. This problem was <a href=\"http://www.geek.com/articles/news/chrome-18-adds-gpu-acceleration-and-swiftshader-for-better-gaming-performance-20120329/\">solved in Chrome</a> as of version 18.\r\n\r\nNote that WebGL is part of the <a href=\"http://www.khronos.org/webgl/\">Khronos Group</a>, not the W3C.","usage_perc_y":27.74,"usage_perc_a":25.55,"parent":"canvas","keywords":"web gl","detection_pattern":".getContext\\s*\\(\\s*['\"](experimental-)?webgl['\"]\\s*\\)","id":"webgl"},{"title":"WebM/VP8 video format","description":"Multimedia format designed to provide a royalty-free, high-quality open video compression format for use with HTML5 video.","spec":"http://www.webmproject.org/","status":"other","links":[{"url":"http://webmproject.org","title":"Officical website"},{"url":"http://www.broken-links.com/2010/09/01/playing-webm-in-safari-with-plugins/","title":"Info on supporting WebM in Safari"},{"url":"https://tools.google.com/dlpage/webmmf","title":"Codec for IE9 support"}],"categories":["Other"],"stats":{"ie":{"10":"u p","5.5":"n","6":"n","7":"n","8":"n","9":"p"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"n","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"p","4":"p","5":"p","5.1":"p","6":"p"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6":"u"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"n","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Will work in IE9 and Safari provided the user has the WebM codecs installed.","usage_perc_y":52.99,"usage_perc_a":0,"parent":"video","keywords":"matroska","detection_pattern":"\\.webm","id":"webm"},{"title":"Web Sockets","description":"Bidirectional communication technology for web apps","spec":"http://www.w3.org/TR/websockets/","status":"wd","links":[{"url":"http://websocket.org/aboutwebsocket.html","title":"WebSockets information"},{"url":"http://updates.html5rocks.com/2011/08/What-s-different-in-the-new-WebSocket-protocol","title":"Details on newer protocol"},{"url":"http://en.wikipedia.org/wiki/WebSocket","title":"Wikipedia"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y x","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"a","5":"a","6":"y x","7":"y x","8":"y x","9":"y x"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"a","5.1":"a","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"a","5.0-5.1":"a","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"a","12":"a"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support refers to the websockets implementation using an older version of the protocol and/or the implementation being disabled by default (due to security issues with the older protocol). \r\nMicrosoft is currently <a href=\\\"http://html5labs.interoperabilitybridges.com/html5labs/prototypes/websockets/websockets/info/\\\">experimenting</a> with the technology.","usage_perc_y":48.22,"usage_perc_a":9.22,"detection_pattern":"new\\s+WebSocket\\s*\\(.*\\)","id":"websockets"},{"title":"Web Workers","description":"Method of running scripts in the background, isolated from the web page","spec":"http://www.whatwg.org/specs/web-workers/current-work/","status":"wd","links":[{"url":"https://developer.mozilla.org/En/Using_web_workers","title":"MDN article"},{"url":"http://nerget.com/rayjs-mt/rayjs.html","title":"Web Worker demo"},{"url":"http://code.google.com/p/ie-web-worker/","title":"Polyfill for IE (single threaded)"}],"categories":["JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"p","7":"p","8":"p","9":"p"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"p","3":"p","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"p","3.2":"p","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"y","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"p","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":58.41,"usage_perc_a":0,"detection_pattern":"new\\s+(Shared)?Worker\\s*\\(.*\\)","id":"webworkers"},{"title":"WOFF - Web Open Font Format","description":"Compressed TrueType/OpenType font that contains information about the font's source.","spec":"http://www.w3.org/TR/WOFF/","status":"cr","links":[{"url":"http://hacks.mozilla.org/2009/10/woff/","title":"Mozilla hacks blog post"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"n","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"n","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"n","4":"n"},"op_mob":{"10":"n","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"","usage_perc_y":72.15,"usage_perc_a":0,"parent":"fontface","detection_pattern":"\\.woff","id":"woff"},{"title":"CSS3 word-break","description":"Property to prevent or allow words to be broken over multiple lines between letters.","spec":"http://www.w3.org/TR/css3-text/#word-break","status":"wd","links":[{"url":"https://developer.mozilla.org/en/CSS/word-break","title":"MDN article"}],"categories":["CSS3"],"stats":{"ie":{"10":"y","5.5":"y","6":"y","7":"y","8":"y","9":"y"},"firefox":{"10":"n","11":"n","12":"n","13":"n","14":"n","15":"y","16":"y","2":"n","3":"n","3.5":"n","3.6":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"n","12.5":"u","9.5-9.6":"n"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a"},"op_mob":{"10":"n","11.5":"n","12":"n"},"bb":{"10":"a","7":"a"},"and_chr":["a"],"and_ff":["n"]},"notes":"Partial support refers to supporting the \"break-all\" value, but not the \"keep-all\" value.","usage_perc_y":28.64,"usage_perc_a":39.37,"keywords":"break-all,keep-all","id":"word-break"},{"title":"CSS3 Overflow-wrap","description":"Allows lines to be broken within words if an otherwise unbreakable string is too long to fit.","spec":"http://www.w3.org/TR/css3-text/#overflow-wrap","status":"wd","links":[{"url":"https://developer.mozilla.org/En/CSS/Word-wrap","title":"MDN article"},{"url":"http://www.css3files.com/text/#wordwrap","title":"Information page"}],"categories":["CSS3"],"stats":{"ie":{"10":"a","5.5":"a","6":"a","7":"a","8":"a","9":"a"},"firefox":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","2":"n","3":"n","3.5":"a","3.6":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"chrome":{"10":"a","11":"a","12":"a","13":"a","14":"a","15":"a","16":"a","17":"a","18":"a","19":"a","20":"a","21":"a","22":"a","23":"a","4":"a","5":"a","6":"a","7":"a","8":"a","9":"a"},"safari":{"3.1":"a","3.2":"a","4":"a","5":"a","5.1":"a","6":"a"},"opera":{"10.0-10.1":"n","10.5":"a","10.6":"a","11":"a","11.1":"a","11.5":"a","11.6":"a","12":"a","12.5":"a","9.5-9.6":"n"},"ios_saf":{"3.2":"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"a","6":"a"},"op_mini":{"5.0-7.0":"a"},"android":{"2.1":"a","2.2":"a","2.3":"a","3":"a","4":"a"},"op_mob":{"10":"a","11.5":"a","12":"a"},"bb":{"10":"a","7":"a"},"and_chr":["a"],"and_ff":["a"]},"notes":"Partial support refers to requiring the legacy name \"word-wrap\" (rather than overflow-wrap) to work.","usage_perc_y":0,"usage_perc_a":92.26,"keywords":"wordwrap,word-wrap","id":"wordwrap"},{"title":"Cross-document messaging","description":"Method of sending information from a page on one domain to a page on a different one (using postMessage)","spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages","status":"wd","links":[{"url":"http://72lions.com/2011/05/cross-origin-communication-with-html5","title":"Article and demo"},{"url":"https://developer.mozilla.org/en/DOM/window.postMessage","title":"MDN article"},{"url":"http://html5demos.com/postmessage2","title":"Simple demo"}],"categories":["JS API"],"stats":{"ie":{"10":"a","5.5":"n","6":"n","7":"n","8":"a","9":"a"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Partial support in IE refers to only working in frames/iframes (not other tabs/windows).","usage_perc_y":64.01,"usage_perc_a":26.89,"detection_pattern":"postMessage","id":"x-doc-messaging"},{"title":"XMLHttpRequest 2","description":"Adds more functionality to AJAX requests like file uploads, transfer progress information and the ability to send form data.","spec":"http://www.w3.org/TR/XMLHttpRequest2/","status":"wd","links":[{"url":"https://developer.mozilla.org/en/XMLHttpRequest/FormData","title":"MDN article on FormData"},{"url":"http://www.profilepicture.co.uk/tutorials/ajax-file-upload-xmlhttprequest-level-2/","title":"Article with file upload demo"}],"categories":["DOM","JS API"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"n"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"n","3":"n","3.5":"a","3.6":"a","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"u","5":"u","6":"u","7":"y","8":"y","9":"y"},"safari":{"3.1":"n","3.2":"n","4":"n","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"n","10.5":"n","10.6":"n","11":"n","11.1":"n","11.5":"n","11.6":"n","12":"y","12.5":"y","9.5-9.6":"n"},"ios_saf":{"3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"n"},"android":{"2.1":"n","2.2":"n","2.3":"n","3":"y","4":"y"},"op_mob":{"10":"n","11.5":"n","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"Firefox 3.5 and 3.6 partial support refers to only including support for the progress event.","usage_perc_y":56.62,"usage_perc_a":1.32,"keywords":"formdata","id":"xhr2"},{"title":"XHTML served as application/xhtml+xml","description":"A strict form of HTML, and allows embedding of other XML languages","spec":"http://www.w3.org/TR/xhtml1/","status":"rec","links":[{"url":"http://en.wikipedia.org/wiki/XHTML","title":"Wikipedia"},{"url":"http://www.xmlplease.com/xhtml/xhtml5polyglot/","title":"Information on XHTML5"}],"categories":["Other"],"stats":{"ie":{"10":"y","5.5":"n","6":"n","7":"n","8":"n","9":"y"},"firefox":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","2":"y","3":"y","3.5":"y","3.6":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"chrome":{"10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","4":"y","5":"y","6":"y","7":"y","8":"y","9":"y"},"safari":{"3.1":"y","3.2":"y","4":"y","5":"y","5.1":"y","6":"y"},"opera":{"10.0-10.1":"y","10.5":"y","10.6":"y","11":"y","11.1":"y","11.5":"y","11.6":"y","12":"y","12.5":"y","9.5-9.6":"y"},"ios_saf":{"3.2":"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6":"y"},"op_mini":{"5.0-7.0":"y"},"android":{"2.1":"y","2.2":"y","2.3":"y","3":"y","4":"y"},"op_mob":{"10":"y","11.5":"y","12":"y"},"bb":{"10":"y","7":"y"},"and_chr":["y"],"and_ff":["y"]},"notes":"The XHTML syntax is very close to HTML, and thus is almost always served as text/html on the web.","usage_perc_y":79.18,"usage_perc_a":0,"keywords":"xhtml+xml","id":"xhtml"},{"title":"XHTML+SMIL animation","description":"Method of using SMIL animation in web pages","spec":"http://www.w3.org/TR/XHTMLplusSMIL/","status":"unoff","links":[{"url":"http://en.wikipedia.org/wiki/XHTML%2BSMIL","title":"Wikipedia"},{"url":"http://leunen.me/fakesmile/","title":"JS library to support XHTML+SMIL"}],"categories":["Other"],"stats":{"ie":{"10":"u","5.5":"n","6":"a","7":"a","8":"a","9":"n"},"firefox":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","2":"p","3":"p","3.5":"p","3.6":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"chrome":{"10":"p","11":"p","12":"p","13":"p","14":"p","15":"p","16":"p","17":"p","18":"p","19":"p","20":"p","21":"p","22":"p","23":"p","4":"p","5":"p","6":"p","7":"p","8":"p","9":"p"},"safari":{"3.1":"p","3.2":"p","4":"p","5":"p","5.1":"p","6":"p"},"opera":{"10.0-10.1":"p","10.5":"p","10.6":"p","11":"p","11.1":"p","11.5":"p","11.6":"p","12":"p","12.5":"p","9.5-9.6":"p"},"ios_saf":{"3.2":"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"p","6":"p"},"op_mini":{"5.0-7.0":"p"},"android":{"2.1":"p","2.2":"p","2.3":"p","3":"p","4":"p"},"op_mob":{"10":"p","11.5":"p","12":"p"},"bb":{"10":"p","7":"p"},"and_chr":["p"],"and_ff":["p"]},"notes":"Internet Explorer supports the W3C proposal HTML+TIME, which is largely the same as XHTML+SMIL","usage_perc_y":0,"usage_perc_a":13.39,"parent":"xhtml","id":"xhtmlsmil"}]