12
name: 'Parsing rules',
17
name: '<code><!DOCTYPE html></code> triggers standards mode',
19
[ 'w3c', 'http://www.w3.org/TR/html5/syntax.html#the-doctype' ],
20
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/syntax.html#the-doctype' ]
24
name: 'HTML5 tokenizer',
27
[ 'w3c', 'http://www.w3.org/TR/html5/syntax.html#parsing' ],
28
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/syntax.html#parsing' ],
29
[ 'mdn', '/Web/Guide/HTML/HTML5/HTML5_Parser' ]
33
name: 'HTML5 tree building',
36
[ 'w3c', 'http://www.w3.org/TR/html5/syntax.html#parsing' ],
37
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/syntax.html#parsing' ],
38
[ 'mdn', '/Web/Guide/HTML/HTML5/HTML5_Parser' ]
42
'<em>HTML5 defines rules for embedding SVG and MathML inside a regular HTML document. The following tests only check if the browser is following the HTML5 parsing rules for inline SVG and MathML, not if the browser can actually understand and render it.</em>',
46
name: 'Parsing inline SVG',
48
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#svg' ],
49
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/embedded-content.html#svg-0' ],
55
name: 'Parsing inline MathML',
57
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#mathml' ],
58
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/embedded-content.html#mathml' ],
59
[ 'mdn', '/Web/MathML' ]
70
name: 'Embedding custom non-visible data',
73
[ 'w3c', 'http://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes' ],
74
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes' ],
75
[ 'mdn', '/Web/API/HTMLElement/dataset' ]
79
'<strong>New or modified elements</strong>',
83
name: 'Section elements',
85
[ 'mdn', '/Web/Guide/HTML/Sections_and_Outlines_of_an_HTML5_document' ]
90
name: '<code>section</code> element',
93
[ 'w3c', 'http://www.w3.org/TR/html5/sections.html#the-section-element' ],
94
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-section-element' ]
98
name: '<code>nav</code> element',
101
[ 'w3c', 'http://www.w3.org/TR/html5/sections.html#the-nav-element' ],
102
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-nav-element' ]
106
name: '<code>article</code> element',
109
[ 'w3c', 'http://www.w3.org/TR/html5/sections.html#the-article-element' ],
110
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-article-element' ]
114
name: '<code>aside</code> element',
117
[ 'w3c', 'http://www.w3.org/TR/html5/sections.html#the-aside-element' ],
118
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-aside-element' ]
122
name: '<code>header</code> element',
125
[ 'w3c', 'http://www.w3.org/TR/html5/sections.html#the-header-element' ],
126
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-header-element' ]
130
name: '<code>footer</code> element',
133
[ 'w3c', 'http://www.w3.org/TR/html5/sections.html#the-footer-element' ],
134
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-footer-element' ]
141
name: 'Grouping content elements',
143
[ 'mdn', '/Web/Guide/HTML/Sections_and_Outlines_of_an_HTML5_document' ]
148
name: '<code>main</code> element',
151
[ 'w3c', 'http://www.w3.org/html/wg/drafts/html/master/single-page.html#the-main-element' ],
152
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-main-element' ]
156
name: '<code>figure</code> element',
159
[ 'w3c', 'http://www.w3.org/TR/html5/grouping-content.html#the-figure-element' ],
160
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-figure-element' ]
164
name: '<code>figcaption</code> element',
167
[ 'w3c', 'http://www.w3.org/TR/html5/grouping-content.html#the-figcaption-element' ],
168
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-figcaption-element' ]
172
name: '<code>reversed</code> attribute on the <code>ol</code> element',
175
[ 'w3c', 'http://www.w3.org/TR/html5/grouping-content.html#the-ol-element' ],
176
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-ol-element' ]
182
name: 'Text-level semantic elements',
186
name: '<code>download</code> attribute on the <code>a</code> element',
189
[ 'w3c', 'http://www.w3.org/TR/html5/text-level-semantics.html#the-a-element' ],
190
[ 'whatwg', 'http://developers.whatwg.org/links.html#attr-hyperlink-download' ]
194
name: '<code>ping</code> attribute on the <code>a</code> element',
198
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#ping' ]
202
name: '<code>mark</code> element',
205
[ 'w3c', 'http://www.w3.org/TR/html5/text-level-semantics.html#the-mark-element' ],
206
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-mark-element' ]
210
name: '<code>ruby</code>, <code>rt</code> and <code>rp</code> elements',
213
[ 'w3c', 'http://www.w3.org/TR/html5/text-level-semantics.html#the-ruby-element' ],
214
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-ruby-element' ]
218
name: '<code>time</code> element',
221
[ 'w3c', 'http://www.w3.org/TR/html5/text-level-semantics.html#the-time-element' ],
222
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-time-element' ]
226
name: '<code>data</code> element',
229
[ 'w3c', 'http://www.w3.org/TR/html5/text-level-semantics.html#the-data-element' ],
230
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-data-element' ]
234
name: '<code>wbr</code> element',
237
[ 'w3c', 'http://www.w3.org/TR/html5/text-level-semantics.html#the-wbr-element' ],
238
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/semantics.html#the-wbr-element' ]
244
name: 'Interactive elements',
248
name: '<code>details</code> element',
251
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/forms.html#the-details-element' ]
255
name: '<code>summary</code> element',
258
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/forms.html#the-summary-element' ]
262
name: '<code>menu</code> element of type <code>toolbar</code>',
264
value: { maximum: 1, award: { OLD: 0 } },
266
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/forms.html#the-menu-element' ]
270
name: '<code>menu</code> element of type <code>context</code>',
272
value: { maximum: 2, award: { OLD: 1 } },
274
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/forms.html#the-menu-element' ]
278
name: '<code>dialog</code> element',
282
[ 'w3c', 'http://www.w3.org/html/wg/drafts/html/master/single-page.html#the-dialog-element' ],
283
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element' ]
289
'<strong>Global attributes or methods</strong>',
293
name: '<code>hidden</code> attribute',
296
[ 'w3c', 'http://www.w3.org/TR/html5/editing.html#the-hidden-attribute' ],
297
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute' ]
301
name: 'Dynamic markup insertion',
305
name: '<code>outerHTML</code> property',
308
[ 'w3c', 'https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#widl-Element-outerHTML' ]
311
id: 'insertAdjacentHTML',
312
name: '<code>insertAdjacentHTML</code> function',
315
[ 'w3c', 'https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#widl-Element-insertAdjacentHTML-void-DOMString-position-DOMString-text' ]
326
'<strong>Field types</strong>',
330
name: '<code>input type=text</code>',
334
name: 'Minimal element support'
337
name: 'Selection Direction',
343
name: '<code>input type=search</code>',
347
name: 'Minimal element support',
349
url: 'http://www.w3.org/TR/html5/forms.html#text-(type=text)-state-and-search-state-(type=search)'
354
name: '<code>input type=tel</code>',
358
name: 'Minimal element support',
360
url: 'http://www.w3.org/TR/html5/forms.html#telephone-state-(type=tel)'
365
name: '<code>input type=url</code>',
369
name: 'Minimal element support',
371
url: 'http://www.w3.org/TR/html5/forms.html#url-state-(type=url)'
374
name: 'Field validation',
375
url: 'http://www.w3.org/TR/html5/forms.html#the-constraint-validation-api'
380
name: '<code>input type=email</code>',
384
name: 'Minimal element support',
386
url: 'http://www.w3.org/TR/html5/forms.html#e-mail-state-(type=email)'
389
name: 'Field validation',
390
url: 'http://www.w3.org/TR/html5/forms.html#the-constraint-validation-api'
395
name: '<code>input type=date</code>',
399
name: 'Minimal element support',
401
url: 'http://www.w3.org/TR/html5/forms.html#date-state-(type=date)'
405
name: 'Custom user-interface'
408
name: 'Value sanitization',
409
url: 'http://www.w3.org/TR/html5/forms.html#value-sanitization-algorithm'
412
name: '<code>min</code> attribute',
413
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-min'
416
name: '<code>max</code> attribute',
417
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-max'
420
name: '<code>step</code> attribute',
421
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-step'
424
name: '<code>stepDown()</code> method',
425
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepdown'
428
name: '<code>stepUp()</code> method',
429
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepup'
432
name: '<code>valueAsDate()</code> method',
433
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasdate'
436
name: '<code>valueAsNumber()</code> method',
437
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasnumber'
442
name: '<code>input type=month</code>',
446
name: 'Minimal element support',
448
url: 'http://www.w3.org/TR/html5/forms.html#month-state-(type=month)'
451
name: 'Custom user-interface',
455
name: 'Value sanitization',
456
url: 'http://www.w3.org/TR/html5/forms.html#value-sanitization-algorithm'
459
name: '<code>min</code> attribute',
460
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-min'
463
name: '<code>max</code> attribute',
464
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-max'
467
name: '<code>step</code> attribute',
468
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-step'
471
name: '<code>stepDown()</code> method',
472
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepdown'
475
name: '<code>stepUp()</code> method',
476
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepup'
479
name: '<code>valueAsDate()</code> method',
480
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasdate'
483
name: '<code>valueAsNumber()</code> method',
484
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasnumber'
489
name: '<code>input type=week</code>',
493
name: 'Minimal element support',
495
url: 'http://www.w3.org/TR/html5/forms.html#week-state-(type=week)'
498
name: 'Custom user-interface',
502
name: 'Value sanitization',
503
url: 'http://www.w3.org/TR/html5/forms.html#value-sanitization-algorithm'
506
name: '<code>min</code> attribute',
507
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-min'
510
name: '<code>max</code> attribute',
511
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-max'
514
name: '<code>step</code> attribute',
515
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-step'
518
name: '<code>stepDown()</code> method',
519
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepdown'
522
name: '<code>stepUp()</code> method',
523
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepup'
526
name: '<code>valueAsDate()</code> method',
527
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasdate'
530
name: '<code>valueAsNumber()</code> method',
531
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasnumber'
536
name: '<code>input type=time</code>',
540
name: 'Minimal element support',
542
url: 'http://www.w3.org/TR/html5/forms.html#time-state-(type=time)'
545
name: 'Custom user-interface',
549
name: 'Value sanitization',
550
url: 'http://www.w3.org/TR/html5/forms.html#value-sanitization-algorithm'
553
name: '<code>min</code> attribute',
554
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-min'
557
name: '<code>max</code> attribute',
558
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-max'
561
name: '<code>step</code> attribute',
562
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-step'
565
name: '<code>stepDown()</code> method',
566
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepdown'
569
name: '<code>stepUp()</code> method',
570
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepup'
573
name: '<code>valueAsDate()</code> method',
574
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasdate'
577
name: '<code>valueAsNumber()</code> method',
578
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasnumber'
582
id: 'datetime-local',
583
name: '<code>input type=datetime-local</code>',
587
name: 'Minimal element support',
589
url: 'http://www.w3.org/TR/html5/forms.html#local-date-and-time-state-(type=datetime-local)'
592
name: 'Custom user-interface',
596
name: 'Value sanitization',
597
url: 'http://www.w3.org/TR/html5/forms.html#value-sanitization-algorithm'
600
name: '<code>min</code> attribute',
601
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-min'
604
name: '<code>max</code> attribute',
605
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-max'
608
name: '<code>step</code> attribute',
609
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-step'
612
name: '<code>stepDown()</code> method',
613
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepdown'
616
name: '<code>stepUp()</code> method',
617
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepup'
620
name: '<code>valueAsNumber()</code> method',
621
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasnumber'
626
name: '<code>input type=number</code>',
630
name: 'Minimal element support',
632
url: 'http://www.w3.org/TR/html5/forms.html#number-state-(type=number)'
635
name: 'Custom user-interface',
639
name: 'Value sanitization',
640
url: 'http://www.w3.org/TR/html5/forms.html#value-sanitization-algorithm'
643
name: 'Field validation',
644
url: 'http://www.w3.org/TR/html5/forms.html#the-constraint-validation-api'
647
name: '<code>min</code> attribute',
648
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-min'
651
name: '<code>max</code> attribute',
652
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-max'
655
name: '<code>step</code> attribute',
656
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-step'
659
name: '<code>stepDown()</code> method',
660
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepdown'
663
name: '<code>stepUp()</code> method',
664
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepup'
667
name: '<code>valueAsNumber()</code> method',
668
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasnumber'
673
name: '<code>input type=range</code>',
677
name: 'Minimal element support',
679
url: 'http://www.w3.org/TR/html5/forms.html#range-state-(type=range)'
682
name: 'Custom user-interface',
686
name: 'Value sanitization',
687
url: 'http://www.w3.org/TR/html5/forms.html#value-sanitization-algorithm'
690
name: '<code>min</code> attribute',
691
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-min'
694
name: '<code>max</code> attribute',
695
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-max'
698
name: '<code>step</code> attribute',
699
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-step'
702
name: '<code>stepDown()</code> method',
703
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepdown'
706
name: '<code>stepUp()</code> method',
707
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-stepup'
710
name: '<code>valueAsNumber()</code> method',
711
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-valueasnumber'
716
name: '<code>input type=color</code>',
720
name: 'Minimal element support',
722
url: 'http://www.w3.org/TR/html5/forms.html#color-state-(type=color)'
725
name: 'Custom user-interface',
729
name: 'Value sanitization',
730
url: 'http://www.w3.org/TR/html5/forms.html#value-sanitization-algorithm'
735
name: '<code>input type=checkbox</code>',
739
name: 'Minimal element support',
740
url: 'http://www.w3.org/TR/html5/forms.html#checkbox-state-(type=checkbox)'
743
name: '<code>indeterminate</code> property',
745
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-indeterminate'
750
name: '<code>input type=image</code>',
754
name: 'Minimal element support',
755
url: 'http://www.w3.org/TR/html5/forms.html#image-button-state-(type=image)'
758
name: '<code>width</code> property',
760
url: 'http://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-width'
763
name: '<code>height</code> property',
765
url: 'http://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-height'
770
name: '<code>input type=file</code>',
774
name: 'Minimal element support',
775
url: 'http://www.w3.org/TR/html5/forms.html#file-upload-state-(type=file)'
778
name: '<code>files</code> property',
780
url: 'http://www.w3.org/TR/html5/forms.html#dom-input-files'
783
status: 'experimental',
784
name: 'Directory upload support',
786
url: 'https://wicg.github.io/directory-upload/proposal.html'
791
name: '<code>textarea</code>',
795
name: 'Minimal element support',
796
url: 'http://www.w3.org/TR/html5/forms.html#the-textarea-element'
799
name: '<code>maxlength</code> attribute',
801
url: 'http://www.w3.org/TR/html5/forms.html#attr-textarea-maxlength'
804
name: '<code>wrap</code> attribute',
806
url: 'http://www.w3.org/TR/html5/forms.html#attr-textarea-wrap'
811
name: '<code>select</code>',
815
name: 'Minimal element support',
816
url: 'http://www.w3.org/TR/html5/forms.html#the-select-element'
819
name: '<code>required</code> attribute',
821
url: 'http://www.w3.org/TR/html5/forms.html#attr-select-required'
826
name: '<code>fieldset</code>',
830
name: 'Minimal element support',
831
url: 'http://www.w3.org/TR/html5/forms.html#the-fieldset-element'
834
name: '<code>elements</code> attribute',
836
url: 'http://www.w3.org/TR/html5/forms.html#dom-fieldset-elements'
839
name: '<code>disabled</code> attribute',
841
url: 'http://www.w3.org/TR/html5/forms.html#dom-fieldset-disabled'
846
name: '<code>datalist</code>',
850
name: 'Minimal element support',
852
url: 'http://www.w3.org/TR/html5/forms.html#the-datalist-element'
855
name: '<code>list</code> attribute for fields',
856
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-list'
861
name: '<code>output</code>',
865
name: 'Minimal element support',
867
url: 'http://www.w3.org/TR/html5/forms.html#the-output-element'
872
name: '<code>progress</code>',
876
name: 'Minimal element support',
878
url: 'http://www.w3.org/TR/html5/forms.html#the-progress-element'
883
name: '<code>meter</code>',
887
name: 'Minimal element support',
889
url: 'http://www.w3.org/TR/html5/forms.html#the-meter-element'
894
'<strong>Fields</strong>',
898
name: 'Field validation',
902
name: '<code>pattern</code> attribute',
904
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-pattern'
907
name: '<code>required</code> attribute',
909
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-required'
914
name: 'Association of controls and forms',
919
name: '<code>control</code> property on labels',
920
url: 'http://www.w3.org/TR/html5/forms.html#dom-label-control'
923
name: '<code>form</code> property on fields',
924
url: 'http://www.w3.org/TR/html5/forms.html#attr-fae-form'
927
name: '<code>formAction</code> property on fields',
928
url: 'http://www.w3.org/TR/html5/forms.html#attr-fs-formaction'
931
name: '<code>formEnctype</code> property on fields',
932
url: 'http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype'
935
name: '<code>formMethod</code> property on fields',
936
url: 'http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod'
938
id: 'formNoValidate',
939
name: '<code>formNoValidate</code> property on fields',
940
url: 'http://www.w3.org/TR/html5/forms.html#attr-fs-formnovalidate'
943
name: '<code>formTarget</code> property on fields',
944
url: 'http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget'
947
name: '<code>labels</code> property on fields',
948
url: 'http://www.w3.org/TR/html5/forms.html#dom-lfe-labels'
953
name: 'Other attributes',
958
name: '<code>autofocus</code> attribute',
959
url: 'http://www.w3.org/TR/html5/forms.html#attr-fe-autofocus'
962
name: '<code>autocomplete</code> attribute',
963
url: 'http://www.w3.org/TR/html5/forms.html#attr-fe-autocomplete'
966
name: '<code>placeholder</code> attribute',
967
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-placeholder'
970
name: '<code>multiple</code> attribute',
971
url: 'http://www.w3.org/TR/html5/forms.html#attr-input-multiple'
974
name: '<code>dirname</code> attribute',
975
url: 'https://www.w3.org/TR/html5/forms.html#attr-fe-dirname'
980
name: 'CSS selectors',
985
name: '<code>:valid</code> selector',
986
url: 'http://www.w3.org/TR/html5/links.html#selector-valid'
989
name: '<code>:invalid</code> selector',
990
url: 'http://www.w3.org/TR/html5/links.html#selector-invalid'
993
name: '<code>:optional</code> selector',
994
url: 'http://www.w3.org/TR/html5/links.html#selector-optional'
997
name: '<code>:required</code> selector',
998
url: 'http://www.w3.org/TR/html5/links.html#selector-required'
1001
name: '<code>:in-range</code> selector',
1002
url: 'http://www.w3.org/TR/html5/links.html#selector-in-range'
1005
name: '<code>:out-of-range</code> selector',
1006
url: 'http://www.w3.org/TR/html5/links.html#selector-out-of-range'
1009
name: '<code>:read-write</code> selector',
1010
url: 'http://www.w3.org/TR/html5/links.html#selector-read-write'
1013
name: '<code>:read-only</code> selector',
1014
url: 'http://www.w3.org/TR/html5/links.html#selector-read-only'
1024
name: '<code>oninput</code> event',
1025
url: 'http://www.w3.org/TR/html5/forms.html#event-input-input'
1028
name: '<code>onchange</code> event',
1029
url: 'http://www.w3.org/TR/html5/forms.html#event-input-change'
1032
name: '<code>oninvalid</code> event',
1033
url: 'http://www.w3.org/TR/html5/webappapis.html#events'
1038
'<strong>Forms</strong>',
1041
id: 'formvalidation',
1042
name: 'Form validation',
1045
id: 'checkValidity',
1046
name: '<code>checkValidity</code> method',
1048
url: 'http://www.w3.org/TR/html5/forms.html#dom-form-checkvalidity'
1051
name: '<code>noValidate</code> attribute',
1053
url: 'http://www.w3.org/TR/html5/forms.html#dom-fs-novalidate'
1061
name: 'Web Components',
1065
name: 'Custom elements',
1068
[ 'w3c', 'http://w3c.github.io/webcomponents/spec/custom/' ]
1073
status: 'experimental',
1074
value: { maximum: 4, award: { OLD: 2 } },
1076
[ 'w3c', 'http://w3c.github.io/webcomponents/spec/shadow/' ]
1080
name: 'HTML templates',
1083
[ 'w3c', 'http://www.w3.org/TR/html-templates/' ],
1084
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/scripting.html#the-template-element' ],
1085
[ 'wp', '/tutorials/webcomponents/htmlimports' ]
1089
name: 'HTML imports',
1092
[ 'w3c', 'http://w3c.github.io/webcomponents/spec/imports/' ]
1103
name: 'Device Access',
1108
name: 'Location and Orientation',
1113
name: 'Geolocation',
1116
[ 'w3c', 'http://www.w3.org/TR/geolocation-API/' ],
1117
[ 'wp', '/apis/geolocation' ],
1118
[ 'mdn', '/Web/API/Geolocation/Using_geolocation' ]
1122
name: 'Device Orientation',
1125
[ 'w3c', 'http://dev.w3.org/geo/api/spec-source-orientation.html' ],
1126
[ 'mdn', '/Web/API/DeviceOrientationEvent' ]
1130
name: 'Device Motion',
1133
[ 'w3c', 'http://dev.w3.org/geo/api/spec-source-orientation.html' ],
1134
[ 'mdn', '/Web/API/DeviceMotionEvent' ]
1144
id: 'requestFullScreen',
1145
name: 'Full screen support',
1146
value: { maximum: 5, award: { PREFIX: 3 } },
1148
[ 'w3c', 'http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#api' ],
1149
[ 'wp', '/dom/Element/requestFullscreen' ],
1150
[ 'mdn', '/Web/Guide/API/DOM/Using_full_screen_mode' ]
1153
id: 'notifications',
1154
name: 'Web Notifications',
1155
value: { maximum: 5, award: { PREFIX: 3 } },
1157
[ 'w3c', 'http://www.w3.org/TR/notifications/' ],
1158
[ 'whatwg', 'https://notifications.spec.whatwg.org' ]
1169
name: 'Gamepad control',
1170
value: { maximum: 2, award: { PREFIX: 1 } },
1172
[ 'w3c', 'http://www.w3.org/TR/gamepad/' ],
1173
[ 'wp', '/apis/gamepad' ]
1176
id: 'pointerevents',
1177
name: 'Pointer Events',
1178
value: { maximum: 5, award: { PREFIX: 3 } },
1180
[ 'w3c', 'http://www.w3.org/TR/pointerevents/' ],
1181
[ 'wp', '/concepts/Pointer_Events' ]
1185
name: 'Pointer Lock support',
1186
value: { maximum: 3, award: { PREFIX: 2 } },
1188
[ 'w3c', 'http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html' ],
1189
[ 'wp', '/dom/Element/requestPointerLock' ],
1190
[ 'mdn', '/Web/API/Pointer_Lock_API' ]
1210
name: '<code>video</code> element',
1213
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#the-video-element' ],
1214
[ 'wp', '/html/elements/video' ],
1215
[ 'mdn', '/Web/Guide/HTML/Using_HTML5_audio_and_video' ]
1222
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#the-track-element' ],
1223
[ 'wp', '/html/elements/track' ]
1227
name: 'Audio track selection',
1230
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#dom-media-audiotracks' ]
1234
name: 'Video track selection',
1237
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#dom-media-videotracks' ]
1241
name: 'Poster images',
1244
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#attr-video-poster' ],
1245
[ 'wp', '/dom/HTMLVideoElement/poster' ]
1249
name: 'Codec detection',
1252
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#dom-navigator-canplaytype' ],
1253
[ 'wp', '/dom/HTMLMediaElement/canPlayType' ]
1257
'<strong>Video codecs</strong>',
1260
id: 'codecs.mp4.mpeg4',
1261
name: 'MPEG-4 ASP support',
1264
id: 'codecs.mp4.h264',
1265
name: 'H.264 support',
1268
[ 'other', 'http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf' ]
1271
id: 'codecs.mp4.h265',
1272
name: 'H.265 support',
1275
id: 'codecs.ogg.theora',
1276
name: 'Ogg Theora support',
1279
[ 'xiph', 'http://theora.org/doc/Theora.pdf' ]
1282
id: 'codecs.webm.vp8',
1283
name: 'WebM with VP8 support',
1286
[ 'webm', 'http://www.webmproject.org/' ],
1287
[ 'ietf', 'http://www.rfc-editor.org/rfc/rfc6386.txt' ]
1290
id: 'codecs.webm.vp9',
1291
name: 'WebM with VP9 support',
1294
[ 'webm', 'http://www.webmproject.org/' ],
1295
[ 'ietf', 'http://tools.ietf.org/id/draft-grange-vp9-bitstream-00.txt' ]
1306
name: '<code>audio</code> element',
1309
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#the-audio-element' ],
1310
[ 'wp', '/html/elements/audio' ],
1311
[ 'mdn', '/Web/Guide/HTML/Using_HTML5_audio_and_video' ]
1317
url: 'http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-loop'
1320
name: 'Preload in the background',
1322
url: 'http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-preload'
1326
'<strong>Advanced</strong>',
1330
name: 'Web Audio API',
1331
value: { maximum: 5, award: { PREFIX: 3 } },
1333
[ 'w3c', 'http://www.w3.org/TR/webaudio/' ],
1334
[ 'wp', '/apis/webaudio' ]
1339
id: 'speechrecognition',
1340
name: 'Speech Recognition',
1341
status: 'experimental',
1342
value: { maximum: 3, award: { PREFIX: 2 } },
1343
url: 'https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html'
1347
id: 'speechsynthesis',
1348
name: 'Speech Synthesis',
1349
status: 'experimental',
1350
value: { maximum: 2, award: { PREFIX: 1 } },
1351
url: 'https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html'
1354
'<strong>Audio codecs</strong>',
1358
name: 'PCM audio support',
1362
name: 'MP3 support',
1365
id: 'codecs.mp4.aac',
1366
name: 'AAC support',
1369
id: 'codecs.mp4.ac3',
1370
name: 'Dolby Digital support',
1373
id: 'codecs.mp4.ec3',
1374
name: 'Dolby Digital Plus support',
1377
id: 'codecs.ogg.vorbis',
1378
name: 'Ogg Vorbis support',
1381
id: 'codecs.ogg.opus',
1382
name: 'Ogg Opus support',
1385
id: 'codecs.webm.vorbis',
1386
name: 'WebM with Vorbis support',
1389
id: 'codecs.webm.opus',
1390
name: 'WebM with Opus support',
1401
name: 'Media Source extensions',
1402
value: { maximum: 5, award: { PREFIX: 2 } },
1404
[ 'w3c', 'http://www.w3.org/TR/media-source/' ],
1405
[ 'wp', '/apis/media_source_extensions' ]
1409
name: 'DRM support',
1410
status: 'controversial',
1411
url: 'http://www.w3.org/TR/encrypted-media/'
1414
'<strong>Adaptive bit rate</strong>',
1418
name: 'Dynamic Adaptive Streaming / MPEG-DASH'
1421
name: 'HTTP Live Streaming / HLS'
1424
'<strong>Codecs</strong>',
1428
name: 'Video codecs',
1432
name: 'MP4 with H.264 support',
1435
[ 'other', 'http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf' ]
1439
name: 'MP4 with H.265 support',
1443
name: 'TS with H.264 support',
1446
[ 'other', 'http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf' ]
1450
name: 'TS with H.265 support',
1454
name: 'WebM with VP8 support',
1457
[ 'webm', 'http://www.webmproject.org/' ],
1458
[ 'ietf', 'http://www.rfc-editor.org/rfc/rfc6386.txt' ]
1462
name: 'WebM with VP9 support',
1465
[ 'webm', 'http://www.webmproject.org/' ],
1466
[ 'ietf', 'http://tools.ietf.org/id/draft-grange-vp9-bitstream-00.txt' ]
1472
name: 'Audio codecs',
1476
name: 'MP4 with AAC support',
1480
name: 'MP4 with Dolby Digital support',
1484
name: 'MP4 with Dolby Digital Plus support',
1488
name: 'TS with AAC support',
1492
name: 'TS with Dolby Digital support',
1496
name: 'TS with Dolby Digital Plus support',
1500
name: 'WebM with Vorbis support',
1504
name: 'WebM with Opus support',
1515
id: 'graphicseffects',
1516
name: '3D, Graphics & Effects',
1522
name: 'Responsive images',
1526
name: '<code>picture</code> element',
1529
[ 'ricg', 'http://responsiveimages.org/' ],
1530
[ 'w3c', 'http://www.w3.org/html/wg/drafts/html/master/single-page.html#the-picture-element' ],
1531
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element' ]
1535
name: '<code>srcset</code> attribute',
1538
[ 'ricg', 'http://responsiveimages.org/' ],
1539
[ 'w3c', 'http://www.w3.org/html/wg/drafts/srcset/w3c-srcset/' ],
1540
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset' ]
1544
name: '<code>sizes</code> attribute',
1547
[ 'ricg', 'http://responsiveimages.org/' ],
1548
[ 'w3c', 'http://www.w3.org/html/wg/drafts/html/master/single-page.html#valid-source-size-list' ],
1549
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-sizes' ],
1555
name: '2D Graphics',
1560
name: 'Canvas 2D graphics',
1563
[ 'w3c', 'http://www.w3.org/TR/2dcontext/' ],
1564
[ 'wp', '/apis/canvas' ],
1565
[ 'mdn', '/Web/API/Canvas_API' ]
1569
'<strong>Drawing primitives</strong>',
1573
name: 'Text support',
1576
[ 'w3c', 'http://www.w3.org/TR/2dcontext/#drawing-text-to-the-canvas' ],
1577
[ 'wp', '/apis/canvas/CanvasRenderingContext2D/fillText' ]
1581
name: 'Path support',
1582
value: { maximum: 2, award: { OLD: 1 } },
1584
[ 'w3c', 'http://www.w3.org/TR/2dcontext/#path-objects' ],
1585
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/scripting.html#path2d-objects' ]
1589
name: 'Ellipse support',
1592
[ 'w3c', 'http://www.w3.org/TR/2dcontext/#dom-context-2d-ellipse' ],
1593
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-ellipse' ]
1597
name: 'Dashed line support',
1600
[ 'w3c', 'http://www.w3.org/TR/2dcontext/#dom-context-2d-setlinedash' ],
1601
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-setlinedash' ]
1605
name: 'System focus ring support',
1608
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-drawfocusifneeded' ]
1612
'<strong>Features</strong>',
1616
name: 'Hit testing support',
1620
[ 'w3c', 'http://www.w3.org/TR/2dcontext/#dom-context-2d-addhitregion' ],
1621
[ 'whatwg', 'http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-addhitregion' ]
1625
name: 'Blending modes',
1629
[ 'w3c', 'http://www.w3.org/TR/compositing-1/#canvascompositingandblending' ]
1633
'<strong>Image export formats</strong>',
1637
name: 'PNG support',
1641
name: 'JPEG support',
1645
name: 'JPEG-XR support',
1649
name: 'WebP support',
1658
'<strong>3D Graphics</strong>',
1663
value: { maximum: 15, award: { PREFIX: 10 } },
1665
[ 'khronos', 'https://www.khronos.org/registry/webgl/specs/latest/1.0/' ],
1667
[ 'mdn', '/Web/API/WebGL_API' ]
1673
status: 'experimental',
1676
[ 'khronos', 'https://www.khronos.org/registry/webgl/specs/latest/2.0/' ],
1678
[ 'mdn', '/Web/API/WebGL_API' ]
1683
'<strong>VR Headset</strong>',
1688
status: 'experimental',
1690
url: 'https://w3c.github.io/webvr/'
1701
name: 'Web Animations API',
1702
status: 'experimental',
1705
[ 'w3c', 'https://w3c.github.io/web-animations/' ]
1708
id: 'requestAnimationFrame',
1709
name: '<code>window.requestAnimationFrame</code>',
1710
value: { maximum: 5, award: { PREFIX: 3 } },
1712
[ 'w3c', 'http://www.w3.org/TR/animation-timing/#requestAnimationFrame' ],
1713
[ 'wp', '/dom/Window/requestAnimationFrame' ],
1714
[ 'mdn', '/Web/API/window/requestAnimationFrame' ]
1724
name: 'Connectivity',
1728
id: 'communication',
1730
name: 'Communication',
1734
name: 'Server-Sent Events',
1737
[ 'w3c', 'http://www.w3.org/TR/eventsource/' ],
1738
[ 'mdn', '/Web/API/Server-sent_events/Using_server-sent_events' ]
1748
[ 'w3c', 'http://www.w3.org/TR/beacon/' ],
1749
[ 'mdn', '/Web/API/Navigator/sendBeacon' ]
1759
[ 'whatwg', 'https://fetch.spec.whatwg.org/' ],
1760
[ 'mdn', '/Web/API/Fetch_API' ]
1765
'<strong>XMLHttpRequest Level 2</strong>',
1768
id: 'xmlhttprequest2.upload',
1769
name: 'Upload files',
1771
url: 'http://www.w3.org/TR/XMLHttpRequest2/#the-upload-attribute'
1773
id: 'xmlhttprequest2.response',
1774
name: 'Response type support',
1776
[ 'mdn', '/Web/API/XMLHttpRequest' ]
1781
name: 'Text response type',
1783
url: 'http://www.w3.org/TR/XMLHttpRequest2/#dom-xmlhttprequest-responsetype'
1786
name: 'Document response type',
1788
url: 'http://www.w3.org/TR/XMLHttpRequest2/#dom-xmlhttprequest-responsetype'
1791
name: '<code>ArrayBuffer</code> response type',
1793
url: 'http://www.w3.org/TR/XMLHttpRequest2/#dom-xmlhttprequest-responsetype'
1796
name: '<code>Blob</code> response type',
1798
url: 'http://www.w3.org/TR/XMLHttpRequest2/#dom-xmlhttprequest-responsetype'
1803
'<strong>WebSocket</strong>',
1806
id: 'websocket.basic',
1807
name: 'Basic socket communication',
1808
value: { maximum: 10, award: { PREFIX: 7, OLD: 5 } },
1810
[ 'w3c', 'http://www.w3.org/TR/websockets/' ],
1811
[ 'mdn', '/Web/API/WebSockets_API' ]
1814
id: 'websocket.binary',
1815
name: '<code>ArrayBuffer</code> and <code>Blob</code> support',
1818
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/comms.html#dom-websocket-binarytype' ],
1819
[ 'mdn', '/Web/API/WebSockets_API' ]
1825
status: 'experimental',
1830
name: 'Readable streams',
1833
[ 'whatwg', 'https://streams.spec.whatwg.org/' ]
1837
name: 'Writable streams',
1840
[ 'whatwg', 'https://streams.spec.whatwg.org/' ]
1846
name: 'Peer To Peer',
1849
'<strong>Connectivity</strong>',
1854
value: { maximum: 15, award: { PREFIX: 10 } },
1856
[ 'w3c', 'http://www.w3.org/TR/webrtc/' ],
1857
[ 'wp', '/apis/webrtc/RTCPeerConnection' ],
1858
[ 'mdn', '/Web/Guide/API/WebRTC' ]
1862
name: 'ObjectRTC API for WebRTC',
1864
value: { maximum: 15, award: { PREFIX: 10 }, conditional: '!rtc.webrtc' },
1866
[ 'w3c', 'http://ortc.org/wp-content/uploads/2014/10/ortc.html' ]
1870
name: 'Data channel',
1871
value: { maximum: 5, award: { PREFIX: 3 } },
1873
[ 'w3c', 'http://www.w3.org/TR/webrtc/#peer-to-peer-data-api' ],
1874
[ 'wp', '/apis/webrtc/RTCDataChannel' ],
1875
[ 'mdn', '/Web/Guide/API/WebRTC' ]
1879
'<strong>Input</strong>',
1882
key: 'media.getUserMedia',
1883
name: 'Access the webcam',
1884
value: { maximum: 15, award: { PREFIX: 10, OLD: 10 } },
1886
[ 'w3c', 'http://dev.w3.org/2011/webrtc/editor/getusermedia.html' ],
1887
[ 'wp', '/dom/Navigator/getUserMedia' ],
1888
[ 'mdn', '/Web/Guide/API/WebRTC' ]
1891
key: 'media.getDisplayMedia',
1892
name: 'Screen Capture',
1893
status: 'experimental',
1896
[ 'w3c', 'https://w3c.github.io/mediacapture-screen-share/' ]
1899
key: 'media.enumerateDevices',
1900
name: 'Enumerate devices',
1904
[ 'w3c', 'https://w3c.github.io/mediacapture-main/#mediadevices' ]
1908
'<strong>Recording</strong>',
1912
name: 'Media Stream recorder',
1916
[ 'w3c', 'http://www.w3.org/TR/mediastream-recording/' ]
1925
id: 'performanceintegration',
1926
name: 'Performance & Integration',
1932
name: 'User interaction',
1934
'<strong>Drag and drop</strong>',
1937
id: 'dragdrop.attributes',
1940
[ 'mdn', '/Web/Guide/HTML/Drag_and_drop' ]
1945
name: '<code>draggable</code> attribute',
1947
url: 'http://www.w3.org/TR/html5/editing.html#the-draggable-attribute'
1950
name: '<code>dropzone</code> attribute',
1952
url: 'http://www.w3.org/TR/html5/editing.html#the-dropzone-attribute '
1956
id: 'dragdrop.events',
1959
[ 'mdn', '/Web/Guide/HTML/Drag_and_drop' ]
1964
name: '<code>ondrag</code> event',
1965
url: 'http://www.w3.org/TR/html5/editing.html#dndevents'
1968
name: '<code>ondragstart</code> event',
1969
url: 'http://www.w3.org/TR/html5/editing.html#dndevents'
1972
name: '<code>ondragenter</code> event',
1973
url: 'http://www.w3.org/TR/html5/editing.html#dndevents'
1976
name: '<code>ondragover</code> event',
1977
url: 'http://www.w3.org/TR/html5/editing.html#dndevents'
1980
name: '<code>ondragleave</code> event',
1981
url: 'http://www.w3.org/TR/html5/editing.html#dndevents'
1984
name: '<code>ondragend</code> event',
1985
url: 'http://www.w3.org/TR/html5/editing.html#dndevents'
1988
name: '<code>ondrop</code> event',
1989
url: 'http://www.w3.org/TR/html5/editing.html#dndevents'
1994
'<strong>HTML editing</strong>',
1997
id: 'editing.elements',
1998
name: 'Editing elements',
2000
[ 'mdn', '/Web/Guide/HTML/Content_Editable' ]
2004
id: 'contentEditable',
2005
name: '<code>contentEditable</code> attribute',
2007
url: 'http://www.w3.org/TR/html5/editing.html#contenteditable'
2009
id: 'isContentEditable',
2010
name: '<code>isContentEditable</code> property',
2012
url: 'http://www.w3.org/TR/html5/editing.html#contenteditable'
2016
id: 'editing.documents',
2017
name: 'Editing documents',
2019
[ 'mdn', '/Web/Guide/HTML/Content_Editable' ]
2024
name: '<code>designMode</code> attribute',
2026
url: 'http://www.w3.org/TR/html5/editing.html#designMode'
2030
id: 'editing.selectors',
2031
name: 'CSS selectors',
2032
value: { maximum: 2, award: { PREFIX: 1 } },
2034
[ 'mdn', '/Web/Guide/HTML/Content_Editable' ]
2039
name: '<code>:read-write</code> selector',
2040
url: 'http://www.w3.org/TR/html5/links.html#selector-read-write'
2043
name: '<code>:read-only</code> selector',
2044
url: 'http://www.w3.org/TR/html5/links.html#selector-read-only'
2052
[ 'mdn', '/Web/Guide/HTML/Content_Editable' ]
2057
name: '<code>execCommand</code> method',
2058
url: 'https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html'
2060
id: 'queryCommandEnabled',
2061
name: '<code>queryCommandEnabled</code> method',
2062
url: 'https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html'
2064
id: 'queryCommandIndeterm',
2065
name: '<code>queryCommandIndeterm</code> method',
2066
url: 'https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html'
2068
id: 'queryCommandState',
2069
name: '<code>queryCommandState</code> method',
2070
url: 'https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html'
2072
id: 'queryCommandSupported',
2073
name: '<code>queryCommandSupported</code> method',
2074
url: 'https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html'
2076
id: 'queryCommandValue',
2077
name: '<code>queryCommandValue</code> method',
2078
url: 'https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html'
2083
'<strong>Clipboard</strong>',
2087
name: 'Clipboard API and events',
2089
url: 'https://w3c.github.io/clipboard-apis/'
2092
'<strong>Spellcheck</strong>',
2096
name: '<code>spellcheck</code> attribute',
2098
url: 'http://www.w3.org/TR/html5/editing.html#attr-spellcheck'
2104
name: 'Performance',
2106
'<strong>Workers</strong>',
2110
name: 'Web Workers',
2113
[ 'w3c', 'http://www.w3.org/TR/workers/#dedicated-workers-and-the-worker-interface' ],
2114
[ 'mdn', '/Web/API/Web_Workers_API/Using_web_workers' ]
2118
name: 'Shared Workers',
2121
[ 'w3c', 'http://www.w3.org/TR/workers/#shared-workers-and-the-sharedworker-interface' ],
2122
[ 'mdn', '/Web/API/Web_Workers_API/Using_web_workers' ]
2126
'<strong>Other</strong>',
2129
id: 'requestIdleCallback',
2130
name: '<code>window.requestIdleCallback</code>',
2131
status: 'experimental',
2133
url: 'https://w3c.github.io/requestidlecallback/#the-requestidlecallback-method'
2143
name: 'Web Cryptography API',
2145
value: { maximum: 5, award: { PREFIX: 3 } },
2147
[ 'w3c', 'http://www.w3.org/TR/WebCryptoAPI/' ]
2151
name: 'Content Security Policy 1',
2154
[ 'w3c', 'http://www.w3.org/TR/CSP1/' ],
2155
[ 'mdn', '/Web/Security/CSP' ]
2159
name: 'Content Security Policy 2',
2163
[ 'w3c', 'http://www.w3.org/TR/CSP2/' ],
2164
[ 'mdn', '/Web/Security/CSP' ]
2168
name: 'Cross-Origin Resource Sharing',
2171
[ 'mdn', '/Web/HTTP/Access_control_CORS' ]
2175
name: 'Subresource Integrity',
2178
url: 'http://www.w3.org/TR/SRI/'
2181
name: 'Cross-document messaging',
2184
[ 'w3c', 'http://dev.w3.org/html5/postmsg/' ],
2185
[ 'wp', '/apis/web-messaging' ],
2186
[ 'mdn', '/Web/API/Window/postMessage' ]
2190
'<strong>Authentication</strong>',
2193
id: 'authentication',
2194
name: 'Web Authentication / FIDO 2',
2195
status: 'experimental',
2197
url: 'https://w3c.github.io/webauthn/'
2202
name: 'Credential Management',
2203
status: 'experimental',
2205
url: 'http://w3c.github.io/webappsec-credential-management/'
2208
'<strong>Iframes</strong>',
2212
name: 'Sandboxed <code>iframe</code>',
2215
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#attr-iframe-sandbox' ],
2216
[ 'mdn', '/Web/HTML/Element/iframe#attr-sandbox' ]
2220
name: '<code>iframe</code> with inline contents',
2223
[ 'w3c', 'http://www.w3.org/TR/html5/embedded-content-0.html#attr-iframe-srcdoc' ],
2224
[ 'mdn', '/Web/HTML/Element/iframe#attr-srcdoc' ]
2230
status: 'experimental',
2235
name: 'Web Payments',
2237
url: 'https://w3c.github.io/browser-payment-api/specs/paymentrequest.html'
2245
id: 'offlinestorage',
2246
name: 'Offline & Storage',
2251
name: 'Web applications',
2254
'<strong>Offline resources</strong>',
2257
id: 'applicationCache',
2258
name: 'Application Cache',
2261
[ 'w3c', 'http://www.w3.org/TR/html5/browsers.html#offline' ],
2262
[ 'wp', '/apis/appcache/ApplicationCache' ],
2263
[ 'mdn', '/Web/HTML/Using_the_application_cache' ]
2266
id: 'serviceWorkers',
2267
name: 'Service Workers',
2271
[ 'w3c', 'https://www.w3.org/TR/service-workers/' ],
2272
[ 'mdn', '/Web/API/Service_Worker_API' ]
2276
name: 'Push Messages',
2280
[ 'w3c', 'https://w3c.github.io/push-api/' ],
2281
[ 'mdn', '/Web/API/Push_API' ]
2285
'<strong>Content and Scheme handlers</strong>',
2288
id: 'registerProtocolHandler',
2289
name: 'Custom scheme handlers',
2292
[ 'w3c', 'http://www.w3.org/TR/html5/webappapis.html#custom-handlers' ],
2293
[ 'mdn', '/Web-based_protocol_handlers' ]
2296
id: 'registerContentHandler',
2297
name: 'Custom content handlers',
2300
[ 'w3c', 'http://www.w3.org/TR/html5/webappapis.html#custom-handlers' ],
2301
[ 'mdn', '/Web/API/Navigator/registerContentHandler' ]
2310
'<strong>Key-value storage</strong>',
2313
id: 'sessionStorage',
2314
name: 'Session Storage',
2317
[ 'w3c', 'http://www.w3.org/TR/webstorage/#the-sessionstorage-attribute' ],
2318
[ 'wp', '/apis/web-storage' ],
2319
[ 'mdn', '/Web/API/Web_Storage_API' ]
2323
name: 'Local Storage',
2326
[ 'w3c', 'http://www.w3.org/TR/webstorage/#the-localstorage-attribute' ],
2327
[ 'wp', '/apis/web-storage' ],
2328
[ 'mdn', '/Web/API/Web_Storage_API' ]
2332
'<strong>Database storage</strong>',
2335
id: 'indexedDB.basic',
2337
value: { maximum: 21, award: { PREFIX: 16 } },
2339
[ 'w3c', 'http://www.w3.org/TR/IndexedDB/' ],
2340
[ 'wp', '/apis/indexeddb' ],
2341
[ 'mdn', '/Web/API/IndexedDB_API' ]
2344
id: 'indexedDB.blob',
2345
name: 'Objectstore <code>Blob</code> support',
2348
[ 'w3c', 'http://www.w3.org/TR/IndexedDB/' ],
2349
[ 'wp', '/apis/indexeddb' ],
2350
[ 'mdn', '/Web/API/IndexedDB_API' ]
2353
id: 'indexedDB.arraybuffer',
2354
name: 'Objectstore <code>ArrayBuffer</code> support',
2357
[ 'w3c', 'http://www.w3.org/TR/IndexedDB/' ],
2358
[ 'wp', '/apis/indexeddb' ],
2359
[ 'mdn', '/Web/API/IndexedDB_API' ]
2363
'<em>The Web SQL Database specification is no longer being updated and has been replaced by IndexedDB. Because at least 3 vendors have shipped implementations of this specification we still include it in this test.</em>',
2367
name: 'Web SQL Database',
2369
value: { maximum: 5, conditional: '!storage.indexedDB.basic' },
2371
url: 'http://www.w3.org/TR/webdatabase/'
2379
'<strong>Reading files</strong>',
2383
name: 'Basic support for reading files',
2386
[ 'w3c', 'http://dev.w3.org/2006/webapi/FileAPI/#filereader-interface' ],
2387
[ 'wp', '/apis/file' ],
2388
[ 'mdn', '/Using_files_from_web_applications' ]
2391
id: 'fileReader.blob',
2392
name: 'Create a <code>Blob</code> from a file',
2395
[ 'w3c', 'http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob' ],
2398
id: 'fileReader.dataURL',
2399
name: 'Create a Data URL from a <code>Blob</code>',
2402
[ 'w3c', 'http://dev.w3.org/2006/webapi/FileAPI/#dfn-readAsDataURL' ],
2405
id: 'fileReader.arraybuffer',
2406
name: 'Create an <code>ArrayBuffer</code> from a <code>Blob</code>',
2409
[ 'w3c', 'http://dev.w3.org/2006/webapi/FileAPI/#dfn-readAsArrayBuffer' ],
2412
id: 'fileReader.objectURL',
2413
name: 'Create a Blob URL from a <code>Blob</code>',
2416
[ 'w3c', 'http://dev.w3.org/2006/webapi/FileAPI/#dfn-createObjectURL' ],
2420
'<strong>Accessing the file system</strong>',
2423
id: 'getFileSystem',
2424
name: 'FileSystem API',
2425
status: 'experimental',
2427
[ 'w3c', 'http://w3c.github.io/filesystem-api/' ],
2431
'<em>The Directories and System API proposal has failed to gain traction among browser vendors and is only supported in some Webkit based browsers. No additional points are awarded for supporting this API.</em>',
2435
name: 'File API: Directories and System',
2438
[ 'w3c', 'http://www.w3.org/TR/file-system-api/' ],
2439
[ 'wp', '/apis/filesystem' ]
2457
'<strong>Script execution</strong>',
2461
name: 'Asynchronous script execution',
2464
[ 'w3c', 'http://www.w3.org/TR/html5/scripting-1.html#attr-script-async' ],
2465
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/scripting.html#attr-script-async' ],
2466
[ 'mdn', '/Web/HTML/Element/script' ],
2467
[ 'wp', '/html/elements/script' ]
2471
name: 'Defered script execution',
2474
[ 'w3c', 'http://www.w3.org/TR/html5/scripting-1.html#attr-script-defer' ],
2475
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/scripting.html#attr-script-defer' ],
2476
[ 'mdn', '/Web/HTML/Element/script' ],
2477
[ 'wp', '/html/elements/script' ]
2480
id: 'executionevents',
2481
name: 'Script execution events',
2484
[ 'w3c', 'http://www.w3.org/TR/html5/scripting-1.html#the-script-element' ],
2485
[ 'whatwg', 'http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#the-script-element' ],
2486
[ 'mdn', '/Web/Events/beforescriptexecute' ]
2490
name: 'Runtime script error reporting',
2493
[ 'w3c', 'http://www.w3.org/TR/html5/webappapis.html#runtime-script-errors' ],
2494
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/webappapis.html#runtime-script-errors' ],
2495
[ 'mdn', '/Web/API/GlobalEventHandlers/onerror' ]
2499
'<strong>ECMAScript 5</strong>',
2503
name: 'JSON encoding and decoding',
2506
[ 'ecma', 'http://www.ecma-international.org/ecma-262/6.0/#sec-json-object' ],
2508
[ 'wp', '/apis/json' ]
2512
'<strong>ECMAScript 6</strong>',
2519
[ 'ecma', 'https://tc39.github.io/ecma262/#prod-Module' ],
2520
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type' ],
2527
[ 'ecma', 'http://www.ecma-international.org/ecma-262/6.0/#sec-class-definitions' ],
2531
name: 'Arrow functions',
2534
[ 'ecma', 'http://www.ecma-international.org/ecma-262/6.0/#sec-arrow-function-definitions' ],
2541
[ 'ecma', 'http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects' ],
2542
[ 'mdn', '/Web/JavaScript/Reference/Global_Objects/Promise' ]
2546
name: 'Template strings',
2549
[ 'ecma', 'http://www.ecma-international.org/ecma-262/6.0/#sec-template-literals' ],
2552
id: 'es6.datatypes',
2553
name: 'Typed arrays',
2557
[ 'khronos', 'http://www.khronos.org/registry/typedarray/specs/latest/' ],
2558
[ 'ecma', 'http://www.ecma-international.org/ecma-262/6.0/#sec-structured-data' ]
2562
name: 'Internationalization',
2565
[ 'ecma', 'http://www.ecma-international.org/ecma-402/1.0/' ],
2566
[ 'mdn', '/Web/JavaScript/Reference/Global_Objects/Intl' ]
2570
'<strong>ECMAScript 7</strong>',
2574
name: 'Async and Await',
2577
[ 'ecma', 'https://tc39.github.io/ecmascript-asyncawait/' ]
2581
'<strong>Other API\'s</strong>',
2585
name: 'Base64 encoding and decoding',
2588
[ 'w3c', 'http://www.w3.org/TR/html5/webappapis.html#atob' ],
2589
[ 'whatwg', 'https://html.spec.whatwg.org/multipage/webappapis.html#atob' ],
2590
[ 'mdn', '/Web/API/WindowBase64/atob' ]
2593
id: 'mutationObserver',
2594
name: 'Mutation Observer',
2595
value: { maximum: 2, award: { PREFIX: 1 } },
2597
[ 'w3c', 'http://www.w3.org/TR/dom/#mutation-observers' ],
2598
[ 'mdn', '/Web/API/MutationObserver' ]
2603
value: { maximum: 2, award: { PREFIX: 1 } },
2605
[ 'w3c', 'http://www.w3.org/TR/url/' ]
2609
name: 'Encoding API',
2612
[ 'whatwg', 'https://encoding.spec.whatwg.org' ],
2613
[ 'mdn', '/Web/API/TextDecoder' ]
2624
name: 'Session history',
2627
[ 'w3c', 'http://www.w3.org/TR/html5/browsers.html#the-history-interface' ],
2628
[ 'wp', '/dom/History' ],
2629
[ 'mdn', '/Web/Guide/API/DOM/Manipulating_the_browser_history' ]
2632
id: 'pagevisiblity',
2633
name: 'Page Visibility',
2636
[ 'w3c', 'http://www.w3.org/TR/page-visibility/' ],
2637
[ 'mdn', '/Web/Guide/User_experience/Using_the_Page_Visibility_API' ]
2641
name: 'Text selection',
2643
url: 'http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#selections'
2645
id: 'scrollIntoView',
2646
name: 'Scroll into view',
2648
url: 'http://dev.w3.org/csswg/cssom-view/#dom-element-scrollintoview'