-
Notifications
You must be signed in to change notification settings - Fork 7
/
html5.xml
1238 lines (1238 loc) · 149 KB
/
html5.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<!-- Site: http://html5-overview.net -->
<!-- Source: https://github.com/dret/HTML5-overview -->
<!-- This is free and unencumbered data released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this data, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. Enjoy! -->
<?xml-stylesheet type="text/xsl" href="xml2jekyll.xsl"?>
<!DOCTYPE html5 [
<!ELEMENT html5 (specs, log) >
<!ELEMENT specs (spec*) >
<!ELEMENT spec (title, abstract) >
<!ATTLIST spec
id CDATA #REQUIRED
status ( WD | CR | PER | PR | REC | SPSD | NOTE | other | abandoned ) #REQUIRED
ed CDATA #IMPLIED
>
<!ELEMENT title (#PCDATA) >
<!ELEMENT abstract (#PCDATA | q | em)* >
<!ELEMENT q (#PCDATA) >
<!ELEMENT em (#PCDATA) >
<!ELEMENT log (entry|rename)* >
<!ELEMENT entry (#PCDATA | q | em | a)* >
<!ATTLIST entry
date CDATA #REQUIRED
>
<!ELEMENT a (#PCDATA | q)* >
<!ATTLIST a
href CDATA #REQUIRED
>
<!ELEMENT rename (old, new) >
<!ATTLIST rename
date CDATA #REQUIRED
>
<!ELEMENT old EMPTY >
<!ATTLIST old
id CDATA #REQUIRED
title CDATA #REQUIRED
>
<!ELEMENT new EMPTY >
<!ATTLIST new
id CDATA #REQUIRED
title CDATA #REQUIRED
>
]>
<html5>
<specs>
<spec id="html5" status="SPSD">
<title>HTML5</title>
<abstract>This specification defines the 5th major revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features are introduced to help Web application authors, new elements are introduced based on research into prevailing authoring practices, and special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability.</abstract>
</spec>
<spec id="html51" status="REC">
<title>HTML 5.1</title>
<abstract>This specification defines the 2nd edition of the 5th major version, first minor revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, a significant error with HTML 5.1 has been rectified, as noted in the Errata corrected section. Meanwhile, new features continue to be introduced to help Web application authors, new elements continue to be introduced based on research into prevailing authoring practices, and special attention continues to be given to defining clear conformance criteria for user agents in an effort to improve interoperability in the development of HTML 5.2.</abstract>
</spec>
<spec id="html52" status="REC">
<title>HTML 5.2</title>
<abstract>This specification defines the 5th major version, second minor revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features continue to be introduced to help Web application authors, new elements continue to be introduced based on research into prevailing authoring practices, and special attention continues to be given to defining clear conformance criteria for user agents in an effort to improve interoperability.</abstract>
</spec>
<spec id="html53" status="WD">
<title>HTML 5.3</title>
<abstract>This specification defines the 5th major version, third minor revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features continue to be introduced to help Web application authors, new elements continue to be introduced based on research into prevailing authoring practices, and special attention continues to be given to defining clear conformance criteria for user agents in an effort to improve interoperability.</abstract>
</spec>
<spec id="MathML3" status="REC">
<title>Mathematical Markup Language (MathML) Version 3.0</title>
<abstract> This specification defines the Mathematical Markup Language, or MathML. MathML is a markup language for describing mathematical notation and capturing both its structure and content. The goal of MathML is to enable mathematics to be served, received, and processed on the World Wide Web, just as HTML has enabled this functionality for text. This specification of the markup language MathML is intended primarily for a readership consisting of those who will be developing or implementing renderers or editors using it, or software that will communicate using MathML as a protocol for input or output. It is not a User's Guide but rather a reference document. MathML can be used to encode both mathematical notation and mathematical content. About thirty-eight of the MathML tags describe abstract notational structures, while another about one hundred and seventy provide a way of unambiguously specifying the intended meaning of an expression. Additional chapters discuss how the MathML content and presentation elements interact, and how MathML renderers might be implemented and should interact with browsers. Finally, this document addresses the issue of special characters used for mathematics, their handling in MathML, their presence in Unicode, and their relation to fonts. While MathML is human-readable, authors typically will use equation editors, conversion programs, and other specialized software tools to generate MathML. Several versions of such MathML tools exist, both freely available software and commercial products, and more are under development.</abstract>
</spec>
<spec id="system-info-api" status="NOTE">
<title>System Information API</title>
<abstract>This specification defines an API to provide Web applications with access to various properties of the system which they are running on. Specifically, properties pertaining to the device hardware are addressed. Examples include battery status, current network bandwidth. Additionally, some of those properties offer access to the environment around the device, such as ambient brightness or atmospheric pressure.</abstract>
</spec>
<spec id="vehicle-information-api" status="NOTE">
<title>Vehicle Information API Specification</title>
<abstract>This specification defines a high level API for accessing to vehicle signals and data attributes. The purpose of the specification is to promote a client implementation with a standard API that enables application development in a consistent manner across participating automotive manufacturers.</abstract>
</spec>
<spec id="telephony" status="NOTE">
<title>Web Telephony API</title>
<abstract>This specification defines an API to manage telephone calls. A typical use case of the Web Telephony API is the implementation of a 'Dialer' application supporting multiparty calls and multiple telephony services. A minimal structure for call history items is also defined.</abstract>
</spec>
<spec id="discovery-api" status="NOTE">
<title>Network Service Discovery</title>
<abstract>This specification defines a mechanism for an HTML document to discover and subsequently communicate with HTTP-based services advertised via common discovery protocols within the current network.</abstract>
</spec>
<spec id="generic-sensor" status="CR">
<title>Generic Sensor API</title>
<abstract>This specification defines a framework for exposing sensor data to the Open Web Platform in a consistent way. It does so by defining a blueprint for writing specifications of concrete sensors along with an abstract Sensor interface that can be extended to accommodate different sensor types.</abstract>
</spec>
<spec id="ambient-light" status="WD">
<title>Ambient Light Sensor</title>
<abstract>This specification defines a concrete sensor interface to monitor the ambient light level or illuminance of the device's environment.</abstract>
</spec>
<spec id="magnetometer" status="WD">
<title>Magnetometer Sensor</title>
<abstract>This specification defines a concrete sensor interface to measure magnetic field in the X, Y and Z axis.</abstract>
</spec>
<spec id="gyroscope" status="CR">
<title>Gyroscope</title>
<abstract>This specification defines a concrete sensor interface to monitor the rate of rotation around the device's local three primary axes.</abstract>
</spec>
<spec id="accelerometer" status="CR">
<title>Accelerometer</title>
<abstract>This specification defines accelerometer sensor interface for obtaining information about acceleration applied to the X, Y and Z axis of a device that hosts the sensor.</abstract>
</spec>
<spec id="motion-sensors" status="NOTE">
<title>Motion Sensors Explainer</title>
<abstract>This explainer is an introduction to low-level and high-level motion sensors, their relationship, inner workings and common use-cases. Common cases of event filtering and sensor fusion are introduced with examples, showing how to apply that on sensors following the Generic Sensor API specification.</abstract>
</spec>
<spec id="orientation-sensor" status="CR">
<title>Orientation Sensor</title>
<abstract>This specification defines a base orientation sensor interface and concrete sensor subclasses to monitor the device's physical orientation in relation to a stationary three dimensional Cartesian coordinate system.</abstract>
</spec>
<spec id="audioproc" status="WD">
<title>Audio Processing API</title>
<abstract>This specification introduces and compares two client-side APIs for processing and synthesizing real-time audio streams in the browser.</abstract>
</spec>
<spec id="html-transcript-src" status="NOTE">
<title>A Transcript Extension for HTML</title>
<abstract>This document describes an extension to HTML which explicitly identifies a transcript linked to a media object such as audio or video. It was created to meet requirements for transcriptions that are described in the Media Accessibility User Requirements (MAUR).</abstract>
</spec>
<spec id="html-picture-element" status="NOTE">
<title>The picture Element</title>
<abstract>This specification defines the HTML picture element and extends the img and source elements to allow authors to declaratively control or give hints to the user agent about which image resource to use, based on the screen pixel density, viewport size, image format, and other factors.</abstract>
</spec>
<spec id="html-longdesc" status="REC">
<title>HTML Image Description Extension (longdesc)</title>
<abstract>This specification defines a longdesc attribute (based on the longdesc attribute of HTML 4) to link descriptions to images in HTML5 content. By allowing a hyperlink inside another one, this document explicitly redefines the HTML concept of hyperlink in a limited set of circumstances.</abstract>
</spec>
<spec id="html-srcset" status="NOTE">
<title>The srcset Attribute</title>
<abstract>When authors adapt their sites for high-resolution displays, they often need to be able to use different assets representing the same image. We address this need for adaptive, bitmapped content images by adding a srcset attribute to the img element.</abstract>
</spec>
<spec id="media-capabilities" status="WD">
<title>Media Capabilities</title>
<abstract>This specification intends to provide APIs to allow websites to make an optimal decision when picking media content for the user. The APIs will expose information about the decoding and encoding capabilities for a given format but also output capabilities to find the best match based on the device’s display.</abstract>
</spec>
<spec id="mediasession" status="WD">
<title>Media Session Standard</title>
<abstract>This specification enables web developers to show customized media metadata on platform UI, customize available platform media controls, and access platform media keys such as hardware keys found on keyboards, headsets, remote controls, and software keys found in notification areas and on lock screens of mobile devices.</abstract>
</spec>
<spec id="picture-in-picture" status="WD">
<title>Picture-in-Picture</title>
<abstract>This specification intends to provide APIs to allow websites to create a floating video window always on top of other windows so that users may continue consuming media while they interact with other content sites, or applications on their device.</abstract>
</spec>
<spec id="media-source" status="REC">
<title>Media Source Extensions</title>
<abstract>This specification extends HTMLMediaElement to allow JavaScript to generate media streams for playback. Allowing JavaScript to generate streams facilitates a variety of use cases like adaptive streaming and time shifting live streams.</abstract>
</spec>
<spec id="remote-playback" status="CR">
<title>Remote Playback API</title>
<abstract>This specification defines an API extending the HTMLMediaElement that enables controlling remote playback of media from a web page.</abstract>
</spec>
<spec id="webvtt1" status="WD">
<title>WebVTT: The Web Video Text Tracks Format</title>
<abstract>This specification defines WebVTT, the Web Video Text Tracks format. Its main use is for marking up external text track resources in connection with the HTML <track> element. WebVTT files provide captions or subtitles for video content, and also text video descriptions, chapters for content navigation, and more generally any form of metadata that is time-aligned with audio or video content.</abstract>
</spec>
<spec id="webmidi" status="WD">
<title>Web MIDI API</title>
<abstract> Some user agents have connected music devices, such as synthesizers, keyboard and other controllers, and drum machines. The widely adopted Musical Instrument Digital Interface (MIDI) protocol enables electronic musical instruments, controllers and computers to communicate and synchronize with each other. MIDI does not transmit audio signals: instead, it sends event messages about musical notes, controller signals for parameters such as volume, vibrato and panning, cues and clock signals to set the tempo, and system-specific MIDI communications (e.g. to remotely store synthesizer-specific patch data). This same protocol has become a standard for non-musical uses, such as show control, lighting and special effects control. This specification defines an API supporting the MIDI protocol, enabling web applications to enumerate and select MIDI input and output devices on the client system and send and receive MIDI messages. It is intended to enable non-music MIDI applications as well as music ones, by providing low-level access to the MIDI devices available on the users' systems. At the same time, the Web MIDI API is not intended to become a semantic controller platform; it is designed to expose the mechanics of MIDI input and output interfaces, and the practical aspects of sending and receiving MIDI messages, without identifying what those actions might mean semantically. To some users, "MIDI" has become synonymous with Standard MIDI Files and General MIDI. That is not the intent of this API; the use case of simply playing back a .SMF file is not within the purview of this specification (it could be considered a different format to be supported by the HTML5 <audio> element, for example). The Web MIDI API is intended to enable direct access to devices that respond to MIDI - external synthesizers or lighting systems, for example, or even the software synthesizers that are built in to many common operating systems. The Web MIDI API is also explicitly designed to enable a new class of applications on the web that can respond to MIDI controller inputs - using external hardware controllers with physical buttons, knobs and sliders (as well as musical controllers like keyboard, guitar or wind instrument controllers) to control web applications. The Web MIDI API is also expected to be used in conjunction with other APIs and elements of the web platform, notably the Web Audio API and High-Resolution Time. This API is also intended to be familiar to users of MIDI APIs on other systems, such as Apple's CoreMIDI and Microsoft's Windows MIDI API.</abstract>
</spec>
<spec id="battery-status" status="CR">
<title>Battery Status API</title>
<abstract>This specification defines an API that provides information about the battery status of the hosting device.</abstract>
</spec>
<spec id="wake-lock" status="CR">
<title>Wake Lock API</title>
<abstract>This document specifies an API that allows web applications to request a wake lock. A wake lock prevents some aspect of the device from entering a power-saving state (e.g., preventing the system from turning off the screen).</abstract>
</spec>
<spec id="audio-output" status="CR">
<title>Audio Output Devices API</title>
<abstract>This document defines a set of JavaScript APIs that let a Web application manage how audio is rendered on the user audio output devices.</abstract>
</spec>
<spec id="calendar-api" status="NOTE">
<title>Calendar API</title>
<abstract>The Calendar API defines the high-level interfaces required to obtain read access to a user's calendaring service.</abstract>
</spec>
<spec id="clipboard-apis" status="WD">
<title>Clipboard API and Events</title>
<abstract>This document describes APIs for clipboard operations such as copy, cut and paste in web applications.</abstract>
</spec>
<spec id="orientation-event" status="WD">
<title>DeviceOrientation Event Specification</title>
<abstract>This specification defines several new DOM event types that provide information about the physical orientation and motion of a hosting device.</abstract>
</spec>
<spec id="app-uri" status="NOTE">
<title>The app: URL scheme</title>
<abstract>This specification defines the app: URL scheme. The app: URL scheme can be used by packaged applications to obtain resources that are inside a container. These resources can then be used with web platform features that accept URLs.</abstract>
</spec>
<spec id="FileAPI" status="WD">
<title>File API</title>
<abstract>This specification provides an API for representing file objects in web applications, as well as programmatically selecting them and accessing their data.</abstract>
</spec>
<spec id="file-system-api" status="NOTE">
<title>File API: Directories and System</title>
<abstract>This specification defines an API to navigate file system hierarchies, and defines a means by which a user agent may expose sandboxed sections of a user's local filesystem to web applications. It builds on <q>File API: Writer</q>, which in turn built on <q>File API</q>, each adding a different kind of functionality.</abstract>
</spec>
<spec id="file-writer-api" status="NOTE">
<title>File API: Writer</title>
<abstract>This specification defines an API for writing to files from web applications. This API is designed to be used in conjunction with, and depends on definitions in, other APIs and elements on the web platform. Most relevant among these are <em>File API</em> and <em>Web Workers</em>.</abstract>
</spec>
<spec id="http://w3c.github.io/filesystem-api/" status="other">
<title>FileSystem API</title>
<abstract>The FileSystem API defines functionality on a local sandboxed file system within the same origin of the Web Application that created it. It exposes standard file system operations to Web Applications, such as creation of files and directories, and reading and writing of them (from and to disk), including other programmatic manipulation of files and directories.</abstract>
</spec>
<spec id="http://w3c.github.io/webvr/" status="abandoned">
<title>WebVR</title>
<abstract>This specification describes support for accessing virtual reality (VR) devices, including sensors and head-mounted displays on the Web.</abstract>
</spec>
<spec id="webxr" status="WD">
<title>WebXR Device API</title>
<abstract>This specification describes support for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays, on the Web.</abstract>
</spec>
<spec id="webxr-gamepads-module-1" status="WD">
<title>WebXR Gamepads Module Level 1</title>
<abstract>This specification module describes support for accessing button, trigger, thumbstick, and touchpad data associated with virtual reality (VR) and augmented reality (AR) devices on the Web.</abstract>
</spec>
<spec id="webxr-ar-module-1" status="WD">
<title>WebXR Augmented Reality Module Level 1</title>
<abstract>The WebXR Augmented Reality module expands the WebXR Device API with the functionality available on AR hardware.</abstract>
</spec>
<spec id="wai-aria" status="REC">
<title>Accessible Rich Internet Applications (WAI-ARIA) 1.0</title>
<abstract>Accessibility of web content requires semantic information about widgets, structures, and behaviors, in order to allow assistive technologies to convey appropriate information to persons with disabilities. This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information to assistive technologies in document-level markup.</abstract>
</spec>
<spec id="wai-aria-1.1" status="CR">
<title>Accessible Rich Internet Applications (WAI-ARIA) 1.1</title>
<abstract>Accessibility of web content requires semantic information about widgets, structures, and behaviors, in order to allow assistive technologies to convey appropriate information to persons with disabilities. This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information to assistive technologies in document-level markup. This version adds features new since WAI-ARIA 1.0 to improve interoperability with assistive technologies to form a more consistent accessibility model for HTML5 and SVG2. This specification complements both HTML5 and SVG2.</abstract>
</spec>
<spec id="html-aam-1.0" status="WD">
<title>HTML Accessibility API Mappings 1.0</title>
<abstract>HTML Accessibility API Mappings (HTML-AAM) defines how user agents map HTML 5.1 elements and attributes to platform accessibility application programming interfaces (APIs). It leverages and extends the Core Accessibility API Mappings 1.1 and the Accessible Name and Description: Computation and API Mappings 1.1 for use with the HTML 5.1 host language. Documenting these mappings promotes interoperable exposure of roles, states, properties, and events implemented by accessibility APIs and helps to ensure that this information appears in a manner consistent with author intent.</abstract>
</spec>
<spec id="html-aria" status="WD">
<title>ARIA in HTML</title>
<abstract>This specification defines the web developer rules (author conformance requirements) for the use of WAI-ARIA attributes on HTML 5.1 elements. It also defines requirements for Conformance Checking tools.</abstract>
</spec>
<spec id="fullscreen" status="NOTE">
<title>Fullscreen</title>
<abstract>Fullscreen defines the fullscreen API for the web platform.</abstract>
</spec>
<spec id="gamepad" status="WD">
<title>Gamepad</title>
<abstract>The Gamepad specification defines a low-level interface that represents gamepad devices.</abstract>
</spec>
<spec id="geolocation-API" status="REC">
<title>Geolocation API Specification</title>
<abstract>This specification defines an API that provides scripted access to geographical location information associated with the hosting device.</abstract>
</spec>
<spec id="geolocation-API-v2" status="NOTE">
<title>Geolocation API Specification Level 2</title>
<abstract>This specification defines an API that provides scripted access to geographical location information associated with the hosting device, and this Level 2 version extends the capability of the Geolocation API Specification by adding the ability to get location represented as a civil address.</abstract>
</spec>
<spec id="geolocation-sensor" status="WD">
<title>Geolocation Sensor</title>
<abstract>This specification defines the GeolocationSensor interface for obtaining geolocation of the hosting device.</abstract>
</spec>
<spec id="geofencing" status="NOTE">
<title>Geofencing API</title>
<abstract>This specification defines an API that lets webapps setup geographic boundaries around specific locations and then receive notifications when the hosting device enters or leaves those areas.</abstract>
</spec>
<spec id="nfc" status="NOTE">
<title>Web NFC API</title>
<abstract>Near Field Communication (NFC) is an international standard (ISO/IEC 18092) that specifies an interface and protocol for simple wireless interconnection of closely coupled devices operating at 13.56 MHz. There are three groups of application scenarios for NFC: The first one is to hold a device close to a wireless tag to exchange some digital information or data; The second is to hold two devices close to each other in order to exchange some information or data between them; The third one is to make payments by holding mobile phones close to point of sales terminals instead of swiping smart cards. NFC enables wireless communication between two devices at close proximity, usually less than a few centimeters.</abstract>
</spec>
<spec id="payment-request" status="CR">
<title>Payment Request API</title>
<abstract>This specification describes a web API to allow merchants (i.e. web sites selling physical or digital goods) to easily accept payments from different payment methods with minimal integration. User agents (e.g. browsers) will facilitate the payment flow between merchant and user.</abstract>
</spec>
<spec id="payment-handler" status="WD">
<title>Payment Handler API</title>
<abstract>The Payment Request API provides a standard way to initiate payment requests from Web pages and applications. User agents implementing that API prompt the user to select a way to handle the payment request, after which the user agent returns a payment response to the originating site. This specification defines capabilities that enable Web applications to handle payment requests.</abstract>
</spec>
<spec id="payment-method-id" status="CR">
<title>Payment Method Identifiers</title>
<abstract>The Payment Request API requires that merchants supply a list identifiers for supported payment methods. This document defines those identifier strings and how they are created.</abstract>
</spec>
<spec id="payment-method-basic-card" status="WD">
<title>Payment Method: Basic Card</title>
<abstract>This specification describes data structures and formats, and a simple processing model, to facilitate card-based payments on the Web. It is used by other specifications to facilitate monetary transactions with a "basic card", such as credit, debit, or prepaid card.</abstract>
</spec>
<spec id="payment-method-manifest" status="WD">
<title>Payment Method Manifest</title>
<abstract>This specification defines the machine-readable manifest file, known as a payment method manifest, describing how a payment method participates in the Web Payments ecosystem, and how such files are to be used.</abstract>
</spec>
<spec id="webpayments-http-api" status="NOTE">
<title>Web Payments HTTP API 1.0</title>
<abstract>This document outlines how to register payment applications, create payment requests, and reply with payment responses using a standard HTTP API.</abstract>
</spec>
<spec id="webpayments-http-messages" status="WD">
<title>Web Payments HTTP Messages 1.0</title>
<abstract>This document specifies the Web Payments messages that are used to initiate and acknowledge a payment request via the HTTP protocol. The messages are typically passed between the software ecosystem that initiates, executes, and finalizes Web Payments.</abstract>
</spec>
<spec id="2dcontext" status="REC">
<title>HTML Canvas 2D Context</title>
<abstract>This specification defines the 2D Context for the HTML canvas element. The 2D Context provides objects, methods, and properties to draw and manipulate graphics on a canvas drawing surface.</abstract>
</spec>
<spec id="2dcontext2" status="NOTE">
<title>HTML Canvas 2D Context, Level 2</title>
<abstract>This specification defines the 2D Context for the HTML canvas element. The 2D Context provides objects, methods, and properties to draw and manipulate graphics on a canvas drawing surface.</abstract>
</spec>
<spec id="html-media-capture" status="REC">
<title>HTML Media Capture</title>
<abstract>This specification defines HTML form enhancements that provide access to the audio, image and video capture capabilities of the device.</abstract>
</spec>
<spec id="screen-capture" status="WD">
<title>Screen Capture</title>
<abstract>This document defines how a user's display, or parts thereof, can be used as the source of a media stream using getDisplayMedia, an extension to the Media Capture API.</abstract>
</spec>
<spec id="form-http-extensions" status="NOTE">
<title>W3C HTML Form HTTP Extensions</title>
<abstract>This is an addendum to the specification of HTML5 forms extending the abilities of configuring HTTP requests through HTML markup. This document has been developed as a result of work contributed in addressing HTML WG ISSUE-195: Enhance http request generation from forms.</abstract>
</spec>
<spec id="html-json-forms" status="NOTE">
<title>W3C HTML JSON form submission</title>
<abstract>This specification defines a new form encoding algorithm that enables the transmission of form data as JSON. Instead of capturing form data as essentially an array of key-value pairs which is the bread and butter of existing form encodings, it relies on a simple name attribute syntax that makes it possible to capture rich data structures as JSON directly.</abstract>
</spec>
<spec id="encrypted-media" status="REC">
<title>Encrypted Media Extensions</title>
<abstract>This proposal extends HTMLMediaElement providing APIs to control playback of protected content. The API supports use cases ranging from simple clear key decryption to high value video (given an appropriate user agent implementation). License/key exchange is controlled by the application, facilitating the development of robust playback applications supporting a range of content decryption and protection technologies. This specification does not define a content protection or Digital Rights Management system. Rather, it defines a common API that may be used to discover, select and interact with such systems as well as with simpler content encryption systems. Implementation of Digital Rights Management is not required for compliance with this specification: only the simple clear key system is required to be implemented as a common baseline. The common API supports a simple set of content encryption capabilities, leaving application functions such as authentication and authorization to page authors. This is achieved by requiring content protection system-specific messaging to be mediated by the page rather than assuming out-of-band communication between the encryption system and a license or other server.</abstract>
</spec>
<spec id="microdata" status="WD">
<title>HTML Microdata</title>
<abstract>This specification defines new HTML attributes to embed machine-readable data in HTML documents in a style similar to RDFa. It is compatible with JSON, and can be written in a style which is convertible to RDF, although two-way conversion is not lossless.</abstract>
</spec>
<spec id="webmessaging" status="REC">
<title>HTML5 Web Messaging</title>
<abstract>This specification defines two mechanism for communicating between browsing contexts in HTML documents.</abstract>
</spec>
<spec id="hr-time" status="REC">
<title>High Resolution Time</title>
<abstract>This specification defines a JavaScript interface that provides the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments.</abstract>
</spec>
<spec id="hr-time-2" status="REC">
<title>High Resolution Time Level 2</title>
<abstract>This specification defines an API that provides the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments.</abstract>
</spec>
<spec id="hr-time-3" status="NOTE">
<title>High Resolution Time Level 3</title>
<abstract>This specification defines an API that provides the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments.</abstract>
</spec>
<spec id="requestidlecallback" status="PR">
<title>Cooperative Scheduling of Background Tasks</title>
<abstract>This document defines an API that web page authors can use to cooperatively schedule background tasks such that they do not introduce delays to other high priority tasks that share the same event loop, such as input processing, animations and frame compositing. The user agent is in a better position to determine when background tasks can be run without introducing user-perceptible delays or jank in animations and input response, based on its knowledge of currently scheduled tasks, vsync deadlines, user-interaction and so on. Using this API should therefore result in more appropriate scheduling of background tasks during times when the browser would otherwise be idle.</abstract>
</spec>
<spec id="https://storage.spec.whatwg.org/" status="other">
<title>Storage</title>
<abstract>The Storage Standard defines an API for persistent storage and quota estimates, as well as the platform storage architecture.</abstract>
</spec>
<spec id="IndexedDB" status="REC">
<title>Indexed Database API</title>
<abstract>This document defines APIs for a database of records holding simple values and hierarchical objects. Each record consists of a key and some value. Moreover, the database maintains indexes over records it stores. An application developer directly uses an API to locate records either by their key or by using an index. A query language can be layered on this API. An indexed database can be implemented using a persistent B-tree data structure.</abstract>
</spec>
<spec id="IndexedDB-2" status="REC">
<title>Indexed Database API 2.0</title>
<abstract>This document defines APIs for a database of records holding simple values and hierarchical objects. Each record consists of a key and some value. Moreover, the database maintains indexes over records it stores. An application developer directly uses an API to locate records either by their key or by using an index. A query language can be layered on this API. An indexed database can be implemented using a persistent B-tree data structure.</abstract>
</spec>
<spec id="media-capture-api" status="NOTE">
<title>Media Capture API</title>
<abstract>This specification defines an Application Programming Interface (API) that provides access to the audio, image and video capture capabilities of the device.</abstract>
</spec>
<spec id="streamproc" status="NOTE">
<title>MediaStream Processing API</title>
<abstract>A number of existing or proposed features for the Web platform deal with continuous real-time media: HTML media elements, Synchronization of multiple HTML media elements (e.g. proposed HTML MediaController), Capture and recording of local audio and video input (e.g. proposed HTML Streams), Peer-to-peer streaming of audio and video streams (e.g. proposed WebRTC and HTML Streams), and Advanced audio APIs that allow complex mixing and effects processing (e.g. Mozilla's AudioData, Chrome's AudioNode). Many use-cases require these features to work together. This proposal makes HTML Streams the foundation for integrated Web media processing by creating a mixing and effects processing API for HTML Streams.</abstract>
</spec>
<spec id="mediastream-streams" status="CR">
<title>Media Capture and Streams</title>
<abstract>This document defines a set of JavaScript APIs that allow local media, including audio and video, to be requested from a platform.</abstract>
</spec>
<spec id="mediastream-recording" status="WD">
<title>MediaStream Recording</title>
<abstract>This document defines a recording API for use with MediaStreams as defined in Media Capture and Streams.</abstract>
</spec>
<spec id="mediacapture-depth" status="WD">
<title>Media Capture Depth Stream Extensions</title>
<abstract>This specification extends the Media Capture and Streams specification to allow a depth-only stream or combined depth+video stream to be requested from the web platform using APIs familiar to web authors.</abstract>
</spec>
<spec id="mediacapture-fromelement" status="WD">
<title>Media Capture from DOM Elements</title>
<abstract>This document defines how a stream of media can be captured from a DOM element, such as a <video>, <audio>, or <canvas> element, in the form of a MediaStream.</abstract>
</spec>
<spec id="image-capture" status="WD">
<title>Mediastream Image Capture</title>
<abstract>This document specifies the takePhoto()and grabFrame()methods, and corresponding camera settings for use with MediaStreamTracks (as defined in Media Capture and Streams).</abstract>
</spec>
<spec id="streams-api" status="NOTE">
<title>Streams API</title>
<abstract>This specification provides APIs for creating, composing, and consuming streams of data. These streams are designed to map efficiently to low-level I/O primitives, and allow easy composition with built-in backpressure and queuing. On top of streams, the web platform can build higher-level abstractions, such as filesystem or socket APIs, while at the same time users can use the supplied tools to build their own streams which integrate well with those of the web platform.</abstract>
</spec>
<spec id="web-share" status="WD">
<title>Web Share API</title>
<abstract> This specification defines an API for sharing text, links and other content to an arbitrary destination of the user's choice. The available share targets are not specified here; they are provided by the user agent. They could, for example, be apps, websites or contacts.</abstract>
</spec>
<spec id="tvcontrol-api" status="NOTE">
<title>TV Control API Specification</title>
<abstract>This specification defines an API for sourcing audio and video media, such as TV and radio from broadcast, IPTV, or other sources, with associated channel and program metadata, and allows presentation of the media using the <video> and <audio> HTML elements. The API is agnostic of any underlying audio or video sourcing technologies.</abstract>
</spec>
<spec id="messaging-api" status="NOTE">
<title>The Messaging API</title>
<abstract>This specification defines an API that provides access to messaging functionality in the device, including SMS, MMS and email.</abstract>
</spec>
<spec id="messaging" status="NOTE">
<title>Messaging API</title>
<abstract>This specification defines a System Level API which offers a simple interface to get access to mobile messaging services. A typical use case of the Messaging API is the implementation of a messaging client application that allows the user to send SMS and MMS messages as well as to access and manage the received SMS and MMS messages.</abstract>
</spec>
<spec id="navigation-timing" status="REC">
<title>Navigation Timing</title>
<abstract>This specification defines an interface for web applications to access timing information related to navigation and elements.</abstract>
</spec>
<spec id="navigation-timing-2" status="WD">
<title>Navigation Timing Level 2</title>
<abstract>This specification defines an interface for web applications to access the complete timing information for navigation of a document.</abstract>
</spec>
<spec id="reporting-1" status="WD">
<title>Reporting API</title>
<abstract>This document defines a generic reporting framework which allows web developers to associate a set of named reporting endpoints with an origin. Various platform features (like Content Security Policy, Network Error Reporting, and others) will use these endpoints to deliver feature-specific reports in a consistent manner.</abstract>
</spec>
<spec id="network-error-logging" status="WD">
<title>Network Error Logging</title>
<abstract>This document defines a mechanism that enables developers to declare a network error reporting policy for a web application. A user agent can use this policy to report encountered network errors that prevented it from successfully fetching requested resources.</abstract>
</spec>
<spec id="paint-timing" status="WD">
<title>Paint Timing 1</title>
<abstract>This document defines an API that can be used to capture a series of key moments (First Paint, First Contentful Paint) during pageload which developers care about.</abstract>
</spec>
<spec id="longtasks-1" status="WD">
<title>Long Tasks API 1</title>
<abstract>This document defines an API that web page authors can use to detect presence of "long tasks" that monopolize the UI thread for extended periods of time and block other critical tasks from being executed - e.g. reacting to user input.</abstract>
</spec>
<spec id="frame-timing" status="NOTE">
<title>Frame Timing</title>
<abstract>This specification defines an interface for web applications to access runtime performance information of the browser event loop, enabling them to identify and fix issues that cause delayed rendering, processing of input, and other critical work necessary to deliver a smooth and responsive user experience.</abstract>
</spec>
<spec id="page-visibility" status="REC">
<title>Page Visibility</title>
<abstract>This specification defines a means for site developers to programmatically determine the current visibility state of the page in order to develop power and CPU efficient web applications.</abstract>
</spec>
<spec id="page-visibility-2" status="CR">
<title>Page Visibility 2</title>
<abstract>This specification defines a means to programmatically determine the visibility state of a document. This can aid in the development of power and CPU efficient web applications.</abstract>
</spec>
<spec id="performance-timeline" status="REC">
<title>Performance Timeline</title>
<abstract>This specification defines an interface for web applications to access timing information related to navigation and elements.</abstract>
</spec>
<spec id="performance-timeline-2" status="WD">
<title>Performance Timeline Level 2</title>
<abstract>This specification extends the High Resolution Time specification by providing methods to store and retrieve high resolution performance metric data.</abstract>
</spec>
<spec id="gallery" status="NOTE">
<title>Pick Media Intent</title>
<abstract>The Pick Media Intent defines a Web Intent that enables access to a user's media gallery from inside a Web application. It defines both an Intent action/type pair that selects this operation, and the format of the media data that is returned by services implementing this specification.</abstract>
</spec>
<spec id="pointerlock" status="REC">
<title>Pointer Lock</title>
<abstract>This specification defines an API that provides scripted access to raw mouse movement data while locking the target of mouse events to a single element and removing the cursor from view. This is an essential input mode for certain classes of applications, especially first person perspective 3D applications and 3D modeling software.</abstract>
</spec>
<spec id="pointerlock-2" status="REC">
<title>Pointer Lock 2.0</title>
<abstract>This specification defines an API that provides scripted access to raw mouse movement data while locking the target of mouse events to a single element and removing the cursor from view. This is an essential input mode for certain classes of applications, especially first person perspective 3D applications and 3D modeling software.</abstract>
</spec>
<spec id="ime-api" status="NOTE">
<title>Input Method Editor API</title>
<abstract>This specification defines an "IME API" that provides Web applications with scripted access to an IME (input-method editor) associated with a hosting user agent. This IME API includes: an InputMethodContext interface, which provides methods to retrieve detailed data from an in-progress IME composition; and a Composition dictionary, which represents read-only attributes about the current composition, such as the actual text and its style. This API is designed to be used in conjunction with DOM events.</abstract>
</spec>
<spec id="indie-ui-events" status="WD">
<title>IndieUI: Events 1.0</title>
<abstract>IndieUI: Events 1.0 is an abstraction between physical, device-specific user interaction events and inferred user intent such as scrolling or changing values. This provides an intermediate layer between device- and modality-specific user interaction events, and the basic user interface functionality used by web applications. IndieUI: Events focuses on granular user interface interactions such as scrolling the view, canceling an action, changing the value of a user input widget, selecting a range, placing focus on an object, etc. Implementing platforms will combine modality-specific user input, user idiosyncratic heuristics to determine the specific corresponding Indie UI event, and send that to the web application in addition to the modality-specific input such as mouse or keyboard events, should applications wish to process it.</abstract>
</spec>
<spec id="indie-ui-context" status="WD">
<title>IndieUI: User Context 1.0</title>
<abstract>IndieUI: User Context defines a set of preferences that users can choose to expose to web applications, and an API for user agents to access the preferences and listen for changes. User can set preferences for features such as screen and font size, color, and typographical preferences. Users with disabilities can provide information about assistive technologies in use, indicate that the display is in an accessibility mode, and indicate whether and what kind of subtitles and audio descriptions they need. Web applications can use this information to optimize the presentation without a requirement to target a specific device, operating system, or locale. While customizations based on these properties benefit users, the information could also be used to make assumptions about users or compromise anonymity. Therefore, the specification includes user agent requirements to allow users to opt out and choose not to expose information on a category basis to preserve privacy.</abstract>
</spec>
<spec id="DataCache" status="NOTE">
<title>Programmable HTTP Caching and Serving</title>
<abstract>This document defines APIs for off-line serving of requests to HTTP resources using static and dynamic responses. It extends the function of application caches defined in HTML5.</abstract>
</spec>
<spec id="proximity" status="WD">
<title>Proximity Sensor</title>
<abstract>This specification defines a concrete sensor interface to monitor the presence of nearby objects without physical contact.</abstract>
</spec>
<spec id="permissions" status="WD">
<title>Permissions</title>
<abstract>The Permissions Standard defines common infrastructure for other specifications that need to interact with browser permissions. It also defines an API to allow web applications to query and request changes to the status of a given permission.</abstract>
</spec>
<spec id="quota-api" status="NOTE">
<title>Quota Management API</title>
<abstract>This specification defines an API to manage usage and availability of local storage resources, and defines a means by which a user agent (UA) may grant Web applications permission to use more local space, temporarily or persistently, via various different storage APIs.</abstract>
</spec>
<spec id="resource-timing-1" status="CR">
<title>Resource Timing Level 1</title>
<abstract>This specification defines an interface for web applications to access the complete timing information for resources in a document.</abstract>
</spec>
<spec id="resource-timing-2" status="WD">
<title>Resource Timing Level 2</title>
<abstract>This specification defines an interface for web applications to access the complete timing information for resources in a document.</abstract>
</spec>
<spec id="screen-orientation" status="WD">
<title>Screen Orientation API</title>
<abstract>The Screen Orientation API provides the ability to read the screen orientation type and angle, to be informed when the screen orientation state changes, and be able to lock the screen orientation to a specific state.</abstract>
</spec>
<spec id="selectors-api" status="REC">
<title>Selectors API Level 1</title>
<abstract>The Selectors API specification defines methods for retrieving Element nodes from the DOM by matching against a group of selectors.</abstract>
</spec>
<spec id="selectors-api2" status="NOTE">
<title>Selectors API Level 2</title>
<abstract>The Selectors API specification defines methods for retrieving element nodes from the DOM by matching against a group of selectors, and for testing if a given element matches a particular selector.</abstract>
</spec>
<spec id="dom" status="REC">
<title>W3C DOM4</title>
<abstract>DOM defines a platform-neutral model for events and node trees. DOM4 adds Mutation Observers as a replacement for Mutation Events.</abstract>
</spec>
<spec id="dom41" status="WD">
<title>W3C DOM4.1</title>
<abstract>DOM defines a platform-neutral model for events and node trees.</abstract>
</spec>
<spec id="DOM-Parsing" status="CR">
<title>DOM Parsing and Serialization</title>
<abstract>This specification defines various APIs for programmatic access to HTML and generic XML parsers by web applications for use in parsing and serializing DOM nodes.</abstract>
</spec>
<spec id="intersection-observer" status="WD">
<title>W3C DOM4</title>
<abstract>This specification describes an API that can be used to understand the visibility and position of DOM elements ("targets") relative to a containing element or to the top-level viewport ("root"). The position is delivered asynchronously and is useful for understanding the visibility of elements and implementing pre-loading and deferred loading of DOM content.</abstract>
</spec>
<spec id="html-templates" status="NOTE">
<title>HTML Templates</title>
<abstract>This specification describes a method for declaring inert DOM subtrees in HTML and manipulating them to instantiate document fragments with identical contents.</abstract>
</spec>
<spec id="shadow-dom" status="WD">
<title>Shadow DOM</title>
<abstract>This specification describes a method of establishing and maintaining functional boundaries between DOM trees and how these trees interact with each other within a document, thus enabling better functional encapsulation within the DOM.</abstract>
</spec>
<spec id="custom-elements" status="NOTE">
<title>Custom Elements</title>
<abstract>This specification describes the method for enabling the author to define and use new types of DOM elements in a document.</abstract>
</spec>
<spec id="html-imports" status="WD">
<title>HTML Imports</title>
<abstract>HTML Imports are a way to include and reuse HTML documents in other HTML documents.</abstract>
</spec>
<spec id="eventsource" status="REC">
<title>Server-Sent Events</title>
<abstract>This specification defines an API for opening an HTTP connection for receiving push notifications from a server in the form of DOM events. The API is designed such that it can be extended to work with other push notification schemes such as Push SMS.</abstract>
</spec>
<spec id="webmention" status="REC">
<title>Webmention</title>
<abstract>Webmention is a simple way to notify any URL when you link to it on your site. From the receiver's perspective, it's a way to request notifications when other sites link to it.</abstract>
</spec>
<spec id="push-api" status="WD">
<title>Push API</title>
<abstract>The Push API enables sending of a push message to a webapp via a push service. An application server can send a push message at any time, even when a webapp or user agent is inactive. The push service ensures reliable and efficient delivery to the user agent. Push messages are delivered to a Service Worker that runs in the origin of the webapp, which can use the information in the message to update local state or display a notification to the user. This specification is designed for use with the web push protocol, which describes how an application server or user agent interacts with a push service.</abstract>
</spec>
<spec id="contacts-api" status="NOTE">
<title>Pick Contacts Intent</title>
<abstract>The Pick Contacts Intent defines a Web Intent that enables access to a user's address book service from inside a Web application. It defines both an Intent action/type pair that selects this operation, and the format of the contacts data that is returned by services implementing this specification.</abstract>
</spec>
<spec id="contacts-manager-api" status="NOTE">
<title>Contacts Manager API</title>
<abstract>This specification defines a System Level API which offers a simple interface to manage user's contacts stored in the system's address book. A typical use case of the Contacts API is the implementation of an application to manage said address book.</abstract>
</spec>
<spec id="netinfo-api" status="NOTE">
<title>Network Information API</title>
<abstract>The Network Information API provides an interface for web applications to access the underlying connection information of the device.</abstract>
</spec>
<spec id="websockets" status="CR">
<title>WebSocket API</title>
<abstract>This specification defines an API that enables Web pages to use the WebSocket protocol (defined by the IETF) for two-way communication with a remote host.</abstract>
</spec>
<spec id="tcp-udp-sockets" status="NOTE">
<title>TCP and UDP Socket API</title>
<abstract>This API provides interfaces to raw UDP sockets, TCP Client sockets and TCP Server sockets. As such, this requires a high level of trust in applications that use this API, since raw sockets can be used to work around the same origin security policy.</abstract>
</spec>
<spec id="animation-timing" status="NOTE">
<title>Timing Control for Script-Based Animations</title>
<abstract>This document defines an API web page authors can use to write script-based animations where the user agent is in control of limiting the update rate of the animation. The user agent is in a better position to determine the ideal animation rate based on whether the page is currently in a foreground or background tab, what the current load on the CPU is, and so on. Using this API should therefore result in more appropriate utilization of the CPU by the browser.</abstract>
</spec>
<spec id="web-animations-1" status="WD">
<title>Web Animations</title>
<abstract>This specification defines a model for synchronization and timing of changes to the presentation of a Web page. This specification also defines an application programming interface for interacting with this model and it is expected that further specifications will define declarative means for exposing these features.</abstract>
</spec>
<spec id="touch-events" status="REC">
<title>Touch Events</title>
<abstract>The Touch Events specification defines a set of low-level events that represent one or more points of contact with a touch-sensitive surface, and changes of those points with respect to the surface and any DOM elements displayed upon it (e.g. for touch screens) or associated with it (e.g. for drawing tablets without displays). It also addresses pen-tablet devices, such as drawing tablets, with consideration toward stylus capabilities.</abstract>
</spec>
<spec id="presentation-api" status="CR">
<title>Presentation API</title>
<abstract>This specification defines an API to enable web content to access external presentation-type displays and use them for presenting web content.</abstract>
</spec>
<spec id="touch-events-extensions" status="NOTE">
<title>Touch Events Extensions</title>
<abstract>This document defines extensions to the Touch Events specification that have been implemented by one or more browsers. We recommend that user agents implement the Touch Events Recommendation and/or the newer Pointer Events specification instead. This document is no longer being developed.</abstract>
</spec>
<spec id="pointerevents" status="REC">
<title>Pointer Events</title>
<abstract>This document defines events and related interfaces for handling hardware agnostic pointer input from devices like a mouse, pen, or touchscreen. For compatibility with existing mouse-based content, this specification also describes a mapping to fire DOM3 Mouse Events for pointer device types other than mouse.</abstract>
</spec>
<spec id="pointerevents2" status="REC">
<title>Pointer Events Level 2</title>
<abstract>The features in this specification extend or modify those found in "Pointer Events", a W3C Recommendation that describes events and related interfaces for handling hardware agnostic pointer input from devices including a mouse, pen, touchscreen, etc. For compatibility with existing mouse based content, this specification also describes a mapping to fire Mouse Events for other pointer device types.</abstract>
</spec>
<spec id="pointerevents3" status="WD">
<title>Pointer Events Level 3</title>
<abstract>The features in this specification extend or modify those found in "Pointer Events", a W3C Recommendation that describes events and related interfaces for handling hardware agnostic pointer input from devices including a mouse, pen, touchscreen, etc. For compatibility with existing mouse based content, this specification also describes a mapping to fire Mouse Events for other pointer device types.</abstract>
</spec>
<spec id="uievents" status="WD">
<title>UI Events Specification</title>
<abstract>This specification defines UI Events which extend the DOM Event objects defined in DOM4. UI Events are those typically implemented by visual user agents for handling user interaction such as mouse and keyboard input.</abstract>
</spec>
<spec id="uievents-code" status="CR">
<title>UI Events KeyboardEvent code Values</title>
<abstract>This specification defines the values for the KeyboardEvent.code attribute, which is defined as part of the UI Events Specification. The code value contains information about the key event that can use used identify the physical key being pressed by the user.</abstract>
</spec>
<spec id="uievents-key" status="CR">
<title>UI Events KeyboardEvent key Values</title>
<abstract>This specification defines the values for the KeyboardEvent.key attribute, which is defined as part of the Document Object Model (DOM) Level 3 Events Specification. The key attribute contains information about the character generated by the key event.</abstract>
</spec>
<spec id="input-events-1" status="WD">
<title>Input Events Level 1</title>
<abstract>This specification defines additions to events for text and related input to allow for the monitoring and manipulation of default browser behavior in the context of text editor applications and other applications that deal with text input and text formatting. This specification builds on the UI events spec.</abstract>
</spec>
<spec id="input-events-2" status="WD">
<title>Input Events Level 2</title>
<abstract>This specification defines additions to events for text and related input to allow for the monitoring and manipulation of default browser behavior in the context of text editor applications and other applications that deal with text input and text formatting. This specification builds on the UI events spec.</abstract>
</spec>
<spec id="UISecurity" status="WD">
<title>User Interface Security and the Visibility API</title>
<abstract>UI Security and the Visibility API defines both a declarative and imperative means for resources displayed in an embedded context to protect themselves against having their content obscured, moved, or otherwise displayed in a misleading manner.</abstract>
</spec>
<spec id="url-1" status="NOTE">
<title>URL</title>
<abstract>The URL Standard defines URLs, domains, IP addresses, the application/x-www-form-urlencoded format, and their API.</abstract>
</spec>
<spec id="server-timing" status="WD">
<title>Server Timing</title>
<abstract>This specification enables a server to communicate performance metrics about the request-response cycle to the user agent. It also standardizes a JavaScript interface to enable applications to collect, process, and act on these metrics to optimize application delivery.</abstract>
</spec>
<spec id="user-timing" status="REC">
<title>User Timing</title>
<abstract>This specification defines an interface to help web developers measure the performance of their applications by giving them access to high precision timestamps.</abstract>
</spec>
<spec id="user-timing-2" status="REC">
<title>User Timing Level 2</title>
<abstract>This specification defines an interface to help web developers measure the performance of their applications by giving them access to high precision timestamps.</abstract>
</spec>
<spec id="user-timing-3" status="WD">
<title>User Timing Level 3</title>
<abstract>This specification defines an interface to help web developers measure the performance of their applications by giving them access to high precision timestamps.</abstract>
</spec>
<spec id="vibration" status="REC">
<title>Vibration API (Second Edition)</title>
<abstract>This specification defines an API that provides access to the vibration mechanism of the hosting device. Vibration is a form of tactile feedback.</abstract>
</spec>
<spec id="webaudio" status="CR">
<title>Web Audio API</title>
<abstract>This specification describes a high-level Web API for processing and synthesizing audio in web applications. The primary paradigm is of an audio routing graph, where a number of AudioNode objects are connected together to define the overall audio rendering. The actual processing will primarily take place in the underlying implementation (typically optimized Assembly/C/C++ code), but direct script processing and synthesis is also supported. The Introduction section covers the motivation behind this specification. This API is designed to be used in conjunction with other APIs and elements on the web platform, notably: XMLHttpRequest (using the responseType and response attributes). For games and interactive applications, it is anticipated to be used with the canvas 2D and WebGL 3D graphics APIs.</abstract>
</spec>
<spec id="webintents-local-services" status="NOTE">
<title>Web Intents Addendum — Local Services</title>
<abstract>This specification is an addendum to Web Intents, that defines how Web Intents enabled User Agents can discover and communicate with local Web Intents Services.</abstract>
</spec>
<spec id="web-intents" status="NOTE">
<title>Web Intents</title>
<abstract>This specification defines a service discovery and light-weight RPC mechanism for web apps called Web Intents. This document defines DOM interfaces and markup used by client and service pages to create, receive, and reply to Web Intents messages, and the procedures the User Agent carries out to facilitate that process.</abstract>
</spec>
<spec id="notifications" status="REC">
<title>Web Notifications</title>
<abstract>Web notifications defines an API for end-user notifications. A notification allows alerting the user outside the context of a web page of an occurrence, such as the delivery of email.</abstract>
</spec>
<spec id="https://notifications.spec.whatwg.org/" status="other">
<title>Notifications API</title>
<abstract>This standard defines an API to display notifications to the end user, typically outside the top-level browsing context's viewport. It is designed to be compatible with existing notification systems, while remaining platform-independent.</abstract>
</spec>
<spec id="https://infra.spec.whatwg.org/" status="other">
<title>Infra</title>
<abstract>The Infra Standard aims to define the fundamental concepts upon which standards are built.</abstract>
</spec>
<spec id="task-scheduler" status="NOTE">
<title>Task Scheduler API Specification</title>
<abstract>This specification defines an API to schedule a task at a specified time. When the indicated time is reached, the application that scheduled the task will be notified via a functional event on a service worker. A task event will be delivered to a service worker, regardless of whether the application is active on user agent. Applications such as an alarm clock or an auto-updater may utilize this API to perform certain action at a specified time.</abstract>
</spec>
<spec id="webdatabase" status="NOTE">
<title>Web SQL Database</title>
<abstract>This specification defines an API for storing data in databases that can be queried using a variant of SQL.</abstract>
</spec>
<spec id="webstorage" status="REC">
<title>Web Storage (Second Edition)</title>
<abstract>This specification defines an API for persistent data storage of key-value pair data in Web clients.</abstract>
</spec>
<spec id="workers" status="WD">
<title>Web Workers</title>
<abstract>This specification defines an API that allows Web application authors to spawn background workers running scripts in parallel to their main page. This allows for thread-like operation with message-passing as the coordination mechanism.</abstract>
</spec>
<spec id="worklets-1" status="WD">
<title>Worklets Level 1</title>
<abstract>This specification defines an API for running scripts in stages of the rendering pipeline independent of the main JavaScript execution environment.</abstract>
</spec>
<spec id="service-workers-1" status="CR">
<title>Service Workers 1</title>
<abstract>This specification describes a method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline. The core of this system is an event-driven Web Worker, which responds to events dispatched from documents and other sources. A system for managing installation, versions, and upgrades is provided. The service worker is a generic entry point for event-driven background processing in the Web Platform that is extensible by other specifications.</abstract>
</spec>
<spec id="appmanifest" status="WD">
<title>Manifest for Web Application</title>
<abstract>This specification defines a JSON-based manifest file that provides developers with a centralized place to put metadata associated with a web application. This metadata includes, but is not limited to, the web application's name, links to icons, as well as the preferred URL to open when a user launches the web application. The manifest also allows developers to declare a default orientation for their web application, as well as providing the ability to set the display mode for the application (e.g., in fullscreen). Additionally, the manifest allows a developer to "scope" a web application to a URL. This restricts the URLs to which the manifest is applied and provides a means to "deep link" into a web application from other applications. Using this metadata, user agents can provide developers with means to create user experiences that are more comparable to that of a native application. This specification also defines the manifest link type as a declarative means to associate a document with a manifest.</abstract>
</spec>
<spec id="clear-site-data" status="WD">
<title>Clear Site Data</title>
<abstract>This document defines an imperative mechanism which allows web developers to instruct a user agent to clear a site's locally stored data related to a host.</abstract>
</spec>
<spec id="api-perms" status="NOTE">
<title>Permissions for Device API Access</title>
<abstract>This document identifies the permissions that are needed to use specific client-side APIs which grant access to sensitive data and operations.</abstract>
</spec>
<spec id="CSP" status="NOTE">
<title>Content Security Policy 1.0</title>
<abstract>This document defines a policy language used to declare a set of content restrictions for a web resource, and a mechanism for transmitting the policy from a server to a client where the policy is enforced.</abstract>
</spec>
<spec id="CSP2" status="REC">
<title>Content Security Policy Level 2</title>
<abstract>This document defines a policy language used to declare a set of content restrictions for a web resource, and a mechanism for transmitting the policy from a server to a client where the policy is enforced.</abstract>
</spec>
<spec id="CSP3" status="WD">
<title>Content Security Policy Level 3</title>
<abstract>This document defines a mechanism by which web developers can control the resources which a particular page can fetch or execute, as well as a number of security-relevant policy decisions.</abstract>
</spec>
<spec id="csp-embedded-enforcement" status="WD">
<title>Content Security Policy: Embedded Enforcement</title>
<abstract>This document defines a mechanism by which a web page can embed a nested browsing context if and only if it agrees to enforce a particular set of restrictions upon itself.</abstract>
</spec>
<spec id="csp-cookies" status="NOTE">
<title>Content Security Policy: Cookie Controls</title>
<abstract>This Note provides a historical reference for a proposed set of mechanisms by which web developers can limit the ways in which cookies may be set in the context of their sites and applications.</abstract>
</spec>
<spec id="csp-pinning" status="NOTE">
<title>Content Security Policy Pinning</title>
<abstract>This Note provides a historical reference for a proposed mechanism to allow authors to instruct user agents to remember ("pin") and enforce a Content Security Policy for a set of hosts for a period of time.</abstract>
</spec>
<spec id="epr" status="NOTE">
<title>Entry Point Regulation</title>
<abstract>This Note provides a historical reference for a proposed mechanism to mitigate the risk of reflected cross-site scripting (XSS), cross-site script inclusion (XSSI), and cross-site request forgery (CSRF) attacks by demarcating the areas of an application which are intended to be externally referencable. A specified policy is applied on external requests for all non-demarcated resources.</abstract>
</spec>
<spec id="secure-contexts" status="CR">
<title>Secure Contexts</title>
<abstract>This specification defines "secure contexts", thereby allowing user agent implementers and specification authors to enable certain features only when certain minimum standards of authentication and confidentiality are met.</abstract>
</spec>
<spec id="upgrade-insecure-requests" status="CR">
<title>Upgrade Insecure Requests</title>
<abstract>This document defines a mechanism which allows authors to instruct a user agent to upgrade a priori insecure resource requests to secure transport before fetching them.</abstract>
</spec>
<spec id="mixed-content" status="CR">
<title>Mixed Content</title>
<abstract>This specification describes how a user agent should handle fetching of content over unencrypted or unauthenticated connections in the context of an encrypted and authenticated document.</abstract>
</spec>
<spec id="webauthn-1" status="REC">
<title>Web Authentication: An API for accessing Public Key Credentials Level 1</title>
<abstract>This specification defines an API enabling the creation and use of strong, attested, scoped, public key-based credentials by web applications, for the purpose of strongly authenticating users. Conceptually, one or more public key credentials, each scoped to a given WebAuthn Relying Party, are created and stored on an authenticator by the user agent in conjunction with the web application. The user agent mediates access to public key credentials in order to preserve user privacy. Authenticators are responsible for ensuring that no operation is performed without user consent. Authenticators provide cryptographic proof of their properties to Relying Parties via attestation. This specification also describes the functional model for WebAuthn conformant authenticators, including their signature and attestation functionality.</abstract>
</spec>
<spec id="selection-api" status="WD">
<title>Selection API</title>
<abstract>This document is a preliminary draft of a specification for the Selection API and selection related functionality. It replaces a couple of old sections of the HTML specification, the selection part of the old DOM Range specification. This document defines APIs for selection, which allows users and authors to select a portion of a document or specify a point of interest for copy, paste, and other editing operations.</abstract>
</spec>
<spec id="findtext" status="NOTE">
<title>FindText API</title>
<abstract>The FindText API specification describes an API for finding ranges of text in a document or part of a document, using a variety of selection criteria.</abstract>
</spec>
<spec id="SRI" status="REC">
<title>Subresource Integrity</title>
<abstract>This specification defines a mechanism by which user agents may verify that a fetched resource has been delivered without unexpected manipulation.</abstract>
</spec>
<spec id="referrer-policy" status="CR">
<title>Referrer Policy</title>
<abstract>This document describes how an author can set a referrer policy for documents they create, and the impact of such a policy on the Referer HTTP header for outgoing requests and navigations.</abstract>
</spec>
<spec id="WebCryptoAPI" status="REC">
<title>Web Cryptography API</title>
<abstract>This specification describes a JavaScript API for performing basic cryptographic operations in web applications, such as hashing, signature generation and verification, and encryption and decryption. Additionally, it describes an API for applications to generate and/or manage the keying material necessary to perform these operations. Uses for this API range from user or service authentication, document or code signing, and the confidentiality and integrity of communications.</abstract>
</spec>
<spec id="webcrypto-key-discovery" status="NOTE">
<title>WebCrypto Key Discovery</title>
<abstract>This note describes a JavaScript API for discovering named, origin-specific pre-provisioned cryptographic keys for use with the Web Cryptography API. Pre-provisioned keys are keys which have been made available to the UA by means other than the generation, derivation, importation and unwrapping functions of the Web Cryptography API. Origin-specific keys are keys that are available only to a specified origin. Named keys are identified by a name assumed to be known to the origin in question and provisioned with the key itself. This note concerns only keys which have all three of these properties.</abstract>
</spec>
<spec id="runtime" status="NOTE">
<title>Runtime and Security Model for Web Applications</title>
<abstract>This document specifies a runtime and security model for Web Applications. It describes how an application is defined through an application manifest, and how it can be installed, updated and packaged. It also specifies how such an application can be put into the background, be put back in the foreground or woken up. Finally, the document describes the security model for such applications. This includes the permission model and the different security rules that would apply.</abstract>
</spec>
<spec id="credential-management-1" status="WD">
<title>Credential Management Level 1</title>
<abstract>This specification describes an imperative API enabling a website to request a user's credentials from a user agent, and to help the user agent correctly store user credentials for future use.</abstract>
</spec>
<spec id="webdriver" status="REC">
<title>WebDriver</title>
<abstract>WebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of web browsers. Provided is a set of interfaces to discover and manipulate DOM elements in web documents and to control the behavior of a user agent. It is primarily intended to allow web authors to write tests that automate a user agent from a separate controlling process, but may also be used in such a way as to allow in-browser scripts to control a - possibly separate - browser.</abstract>
</spec>
<spec id="webdriver2" status="WD">
<title>WebDriver Level 2</title>
<abstract>WebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of web browsers. Provided is a set of interfaces to discover and manipulate DOM elements in web documents and to control the behavior of a user agent. It is primarily intended to allow web authors to write tests that automate a user agent from a separate controlling process, but may also be used in such a way as to allow in-browser scripts to control a - possibly separate - browser.</abstract>
</spec>
<spec id="webrtc" status="CR">
<title>WebRTC 1.0: Real-time Communication Between Browsers</title>
<abstract>This document defines a set of ECMAScript APIs in WebIDL to allow media to be sent to and received from another browser or device implementing the appropriate set of real-time protocols. This specification is being developed in conjunction with a protocol specification developed by the IETF RTCWEB group and an API specification to get access to local media devices developed by the Media Capture Task Force.</abstract>
</spec>
<spec id="webrtc-stats" status="CR">
<title>Identifiers for WebRTC's Statistics API</title>
<abstract>This document defines a set of WebIDL objects that allow access to the statistical information about a RTCPeerConnection. These objects are returned from the getStats API that is specified in WebRTC.</abstract>
</spec>
<spec id="webrtc-identity" status="CR">
<title>Identity for WebRTC 1.0</title>
<abstract>This document defines a set of ECMAScript APIs in WebIDL to allow and application using WebRTC to assert an identity, and to mark media streams as only viewable by another identity. This specification is being developed in conjunction with a protocol specification developed by the IETF RTCWEB group.</abstract>
</spec>
<spec id="webrtc-dscp" status="WD">
<title>WebRTC DSCP Control API</title>
<abstract>This API defines a control surface for manipulating the network control bits (DSCP bits) of outgoing WebRTC packets.</abstract>
</spec>
<spec id="webrtc-svc" status="WD">
<title>Scalable Video Coding (SVC) Extension for WebRTC</title>
<abstract>This document defines a set of ECMAScript APIs in WebIDL to extend the WebRTC 1.0 API to enable user agents to support scalable video coding (SVC).</abstract>
</spec>
<spec id="mst-content-hint" status="WD">
<title>MediaStreamTrack Content Hints</title>
<abstract>This specification extends MediaStreamTrack to provide a media-content hint attribute. This optional hint permits MediaStreamTrack consumers such as PeerConnection (defined in WebRTC) or MediaRecorder (defined in Mediastream Recording) to encode or process track media with methods more appropriate to the type of content that is being consumed. Adding a media-content hint provides a way for a web application to help track consumers make more informed decision of what encoder parameters and processing algorithms to use on the consumed content.</abstract>
</spec>
<spec id="XMLHttpRequest" status="NOTE">
<title>XMLHttpRequest Level 1</title>
<abstract>The XMLHttpRequest specification defines an API that provides scripted client functionality for transferring data between a client and a server.</abstract>
</spec>
<spec id="XMLHttpRequest2" status="NOTE">
<title>XMLHttpRequest Level 2</title>
<abstract>The XMLHttpRequest Level 2 specification enhances the XMLHttpRequest object with new features, such as cross-origin requests, progress events, and the handling of byte streams for both sending and receiving.</abstract>
</spec>
<spec id="progress-events" status="REC">
<title>Progress Events</title>
<abstract>The Progress Events specification defines an event interface that can be used for measuring progress; e.g. HTTP entity body transfers. This specification is primarily meant to be used by other specifications.</abstract>
</spec>
<spec id="cors" status="REC">
<title>Cross-Origin Resource Sharing</title>
<abstract>This document defines a mechanism to enable client-side cross-origin requests. Specifications that enable an API to make cross-origin requests to resources can use the algorithms defined by this specification. If such an API is used on http://example.org resources, a resource on http://hello-world.example can opt in using the mechanism described by this specification (e.g., specifying Access-Control-Allow-Origin: http://example.org as response header), which would allow that resource to be fetched cross-origin from http://example.org.</abstract>
</spec>
<spec id="cowl" status="WD">
<title>Confinement with Origin Web Labels</title>
<abstract>This specification defines an API for specifying privacy and integrity policies on data, in the form of origin labels, and a mechanism for confining code according to such policies. This allows Web application authors and server operators to share data with untrusted—buggy but not malicious—code (e.g., in a mashup scenario) yet impose restrictions on how the code can share the data further.</abstract>
</spec>
<spec id="resource-priorities" status="NOTE">
<title>Resource Priorities</title>
<abstract>This specification defines a means for site developers to programmatically give the User Agent hints on the download priority of a resource. This will allow User Agents to more efficiently manage the order in which resources are downloaded.</abstract>
</spec>
<spec id="resource-hints" status="WD">
<title>Resource Hints</title>
<abstract>This specification defines the dns-prefetch, preconnect, prefetch, and prerender relationships of the HTML Link Element (<link>). These primitives enable the developer, and the server generating or delivering the resources, to assist the user agent in the decision process of which origins it should connect to, and which resources it should fetch and preprocess to improve page performance.</abstract>
</spec>
<spec id="preload" status="CR">
<title>Preload</title>
<abstract>This specification defines the preload keyword that may be used with link elements. This keyword provides a declarative fetch primitive that initiates an early fetch and separates fetching from resource execution.</abstract>
</spec>
<spec id="micropub" status="REC">
<title>Micropub</title>
<abstract>Micropub is an open API standard that is used to create posts on one's own domain using third-party clients. Web apps and native apps (e.g. iPhone, Android) can use Micropub to post short notes, photos, events or other posts to your own site.</abstract>
</spec>
<spec id="beacon" status="CR">
<title>Beacon</title>
<abstract>This specification defines an interface that web developers can use to schedule asynchronous and non-blocking delivery of data that minimizes resource contention with other time-critical operations, while ensuring that such requests are still processed and delivered to destination.</abstract>
</spec>
<spec id="encoding" status="WD">
<title>Encoding</title>
<abstract>While encodings have been defined to some extent, implementations have not always implemented them in the same way, have not always used the same labels, and often differ in dealing with undefined and former proprietary areas of encodings. This specification attempts to fill those gaps so that new implementations do not have to reverse engineer encoding implementations of the market leaders and existing implementations can converge.</abstract>
</spec>
<spec id="device-memory-1" status="WD">
<title>Device Memory</title>
<abstract>This document defines a HTTP Client Hint header to surface device capability for memory i.e. device RAM, in order to enable web apps to customize content depending on device memory constraints.</abstract>
</spec>
<spec id="https://fetch.spec.whatwg.org/" status="other">
<title>Fetch</title>
<abstract>The Fetch standard defines requests, responses, and the process that binds them; fetching.</abstract>
</spec>
<spec id="https://fullscreen.spec.whatwg.org/" status="other">
<title>Fullscreen API</title>
<abstract>Fullscreen defines the fullscreen API for the web platform.</abstract>
</spec>
<spec id="https://webbluetoothcg.github.io/web-bluetooth/" status="other">
<title>Web Bluetooth</title>
<abstract>This document describes an API to discover and communicate with devices over the Bluetooth 4 wireless standard using the Generic Attribute Profile (GATT).</abstract>
</spec>
<spec id="http://w3c.github.io/web-nfc/" status="other">
<title>Web NFC API</title>
<abstract>Near Field Communication (NFC) enables wireless communication between two devices at close proximity, usually less than a few centimeters. NFC is an international standard (ISO/IEC 18092) defining an interface and protocol for simple wireless interconnection of closely coupled devices operating at 13.56 MHz. This specification defines an API to manage selected NFC use-cases from web pages, and to enable new use-cases based on NFC technology.</abstract>
</spec>
<spec id="https://www.khronos.org/registry/webgl/specs/latest/1.0/" status="other">
<title>WebGL 1.0</title>
<abstract>This specification describes an additional rendering context and support objects for the HTML 5 canvas element. This context allows rendering using an API that conforms closely to the OpenGL ES 2.0 API.</abstract>
</spec>
<spec id="https://www.khronos.org/registry/webgl/specs/latest/2.0/" status="other">
<title>WebGL 2.0</title>
<abstract>This is Version 2.0 of the WebGL Specification. This specification describes an additional rendering context and support objects for the HTML 5 canvas element. This context allows rendering using an API that conforms closely to the OpenGL ES 3.0 API. This document should be read as an extension to the WebGL 1.0 specification. It will only describe the differences from 1.0.</abstract>
</spec>
<spec id="https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html" status="other">
<title>Web Speech API Specification</title>
<abstract>This specification defines a JavaScript API to enable web developers to incorporate speech recognition and synthesis into their web pages. It enables developers to use scripting to generate text-to-speech output and to use speech recognition as an input for forms, continuous dictation and control. The JavaScript API allows web pages to control activation and timing and to handle results and alternatives.</abstract>
</spec>
</specs>
<log>
<entry date="2020-01-31">added <a href="http://www.w3.org/TR/picture-in-picture/"><q>Picture-in-Picture</q></a>, <a href="http://www.w3.org/TR/media-capabilities/"><q>Media Capabilities</q></a>, and <a href="http://www.w3.org/TR/mediasession/"><q>Media Session Standard</q></a></entry>
<entry date="2019-12-17">added <a href="http://www.w3.org/TR/web-share/"><q>Web Share API</q></a></entry>
<entry date="2019-12-16">changed status of <a href="http://www.w3.org/TR/accelerometer/"><q>Accelerometer</q></a>, <a href="http://www.w3.org/TR/gyroscope/"><q>Gyroscope</q></a>, <a href="http://www.w3.org/TR/orientation-sensor/"><q>Orientation Sensor</q></a>, and <a href="http://www.w3.org/TR/generic-sensor/"><q>Generic Sensor API</q></a> from WD to CR</entry>
<rename date="2019-12-14">
<old id="accelerometer" title="Accelerometer Sensor"/>
<new id="accelerometer" title="Accelerometer"/>
</rename>
<rename date="2019-12-13">
<old id="gyroscope" title="Gyroscope Sensor"/>
<new id="gyroscope" title="Gyroscope"/>
</rename>
<entry date="2019-12-12">added <a href="http://www.w3.org/TR/pointerevents3/"><q>Pointer Events Level 3</q></a></entry>
<entry date="2019-11-22">changed status of <a href="http://www.w3.org/TR/hr-time-2/"><q>High Resolution Time Level 2</q></a> from PR to REC</entry>
<entry date="2019-11-20">changed status of <a href="http://www.w3.org/TR/service-workers-1/"><q>Service Workers 1</q></a> from WD to CR; updated abstract of <a href="http://www.w3.org/TR/screen-capture/"><q>Screen Capture</q></a></entry>
<entry date="2019-11-01">added <a href="http://www.w3.org/TR/webrtc-svc/"><q>Scalable Video Coding (SVC) Extension for WebRTC</q></a></entry>
<entry date="2019-10-20">added <a href="http://www.w3.org/TR/webxr-gamepads-module-1/"><q>WebXR Gamepads Module Level 1</q></a> and <a href="http://www.w3.org/TR/webxr-ar-module-1/"><q>WebXR Augmented Reality Module Level 1</q></a></entry>
<entry date="2019-10-19">changed status of <a href="http://www.w3.org/TR/hr-time-2/"><q>High Resolution Time Level 2</q></a> from CR to PR</entry>
<entry date="2019-09-13">added <a href="http://www.w3.org/TR/webdriver2/"><q>WebDriver Level 2</q></a></entry>
<entry date="2019-04-16">changed status of <a href="http://www.w3.org/TR/orientation-event/"><q>DeviceOrientation Event Specification</q></a> from NOTE to WD</entry>
<entry date="2019-04-04">changed status of <a href="http://www.w3.org/TR/pointerevents2/"><q>Pointer Events Level 2</q></a> from PR to REC</entry>
<entry date="2019-03-07">changed status of <a href="http://www.w3.org/TR/ambient-light/"><q>Ambient Light Sensor</q></a>, <a href="http://www.w3.org/TR/magnetometer/"><q>Magnetometer</q></a>, <a href="http://www.w3.org/TR/accelerometer/"><q>Accelerometer Sensor</q></a>, <a href="http://www.w3.org/TR/gyroscope/"><q>Gyroscope Sensor</q></a>, <a href="http://www.w3.org/TR/orientation-sensor/"><q>Orientation Sensor</q></a>, and <a href="http://www.w3.org/TR/generic-sensor/"><q>Generic Sensor API</q></a> from CR to WD</entry>
<entry date="2019-03-05">added <a href="http://www.w3.org/TR/user-timing-3/"><q>User Timing Level 3</q></a></entry>
<entry date="2019-03-04">changed status of <a href="http://www.w3.org/TR/webauthn-1/"><q>Web Authentication: An API for accessing Public Key Credentials Level 1</q></a> from PR to REC</entry>
<entry date="2019-02-26">changed status of <a href="http://www.w3.org/TR/user-timing-2/"><q>User Timing Level 2</q></a> from PR to REC</entry>
<entry date="2019-02-21">changed status of <a href="http://www.w3.org/TR/pointerevents2/"><q>Pointer Events Level 2</q></a> from CR to PR</entry>
<entry date="2019-02-06">added <a href="http://www.w3.org/TR/webxr/"><q>WebXR Device API</q></a>; changed status of <a href="https://w3c.github.io/webvr/"><q>WebVR</q></a> to 'abandoned'</entry>
<entry date="2019-01-17">changed status of <a href="http://www.w3.org/TR/webauthn-1/"><q>Web Authentication: An API for accessing Public Key Credentials Level 1</q></a> from CR to PR</entry>
<entry date="2019-01-10">changed status of <a href="http://www.w3.org/TR/user-timing-2/"><q>User Timing Level 2</q></a> from CR to PR</entry>
<entry date="2018-12-11">changed status of <a href="http://www.w3.org/TR/pointerevents2/"><q>Pointer Events Level 2</q></a> from PR to CR</entry>
<entry date="2018-10-30">changed status of <a href="http://www.w3.org/TR/performance-timeline-2/"><q>Performance Timeline Level 2</q></a> from CR to WD</entry>
<entry date="2018-10-16">changed status of <a href="http://www.w3.org/TR/pointerevents2/"><q>Pointer Events Level 2</q></a> from CR to PR</entry>
<entry date="2018-09-27">added <a href="http://www.w3.org/TR/webrtc-identity/"><q>Identity for WebRTC 1.0</q></a></entry>
<entry date="2018-09-25">added <a href="http://www.w3.org/TR/device-memory-1/"><q>Device Memory</q></a>, changed status of <a href="http://www.w3.org/TR/network-error-logging/"><q>Network Error Logging</q></a> and <a href="http://www.w3.org/TR/reporting-1/"><q>Reporting API</q></a> from NOTE to WD</entry>
<entry date="2018-09-19">changed status of <a href="http://www.w3.org/TR/webaudio/"><q>Web Audio API</q></a> from WD to CR</entry>
<entry date="2018-08-21">added <a href="http://www.w3.org/TR/geolocation-sensor/"><q>Geolocation Sensor</q></a></entry>
<entry date="2018-08-07">changed status of <a href="http://www.w3.org/TR/webauthn-1/"><q>Web Authentication: An API for accessing Public Key Credentials Level 1</q></a> from WD to CR</entry>
<rename date="2018-08-06">
<old id="webauthn-1" title="Web Authentication: An API for accessing Scoped Credentials"/>
<new id="webauthn-1" title="Web Authentication: An API for accessing Public Key Credentials Level 1"/>
</rename>
<entry date="2018-07-09">changed status of <a href="http://www.w3.org/TR/user-timing-2/"><q>User Timing Level 2</q></a> from WD to CR</entry>
<entry date="2018-07-03">changed status of <a href="http://www.w3.org/TR/webrtc-stats/"><q>Identifiers for WebRTC's Statistics API</q></a> from WD to CR; added <a href="http://www.w3.org/TR/webrtc-dscp/"><q>WebRTC DSCP Control API</q></a> and <a href="http://www.w3.org/TR/mst-content-hint/"><q>MediaStreamTrack Content Hints</q></a></entry>
<entry date="2018-06-27">changed status of <a href="http://www.w3.org/TR/vehicle-information-api/"><q>Vehicle Information API Specification</q></a> from WD to NOTE</entry>
<entry date="2018-06-19">updated abstract of <a href="http://www.w3.org/TR/webaudio/"><q>Web Audio API</q></a></entry>
<entry date="2018-06-05">changed status of <a href="http://www.w3.org/TR/webdriver/"><q>WebDriver</q></a> from PR to REC</entry>
<entry date="2018-05-10">changed status of <a href="http://www.w3.org/TR/pointerevents2/"><q>Pointer Events Level 2</q></a> from WD to CR; updated title of <a href="http://www.w3.org/TR/payment-method-basic-card/"><q>Payment Method: Basic Card</q></a></entry>
<entry date="2018-05-03">changed status of <a href="http://www.w3.org/TR/custom-elements/"><q>Custom Elements</q></a> from WD to NOTE</entry>
<entry date="2018-04-25">changed status of <a href="http://www.w3.org/TR/webdriver/"><q>WebDriver</q></a> from CR to PR</entry>
<entry date="2018-03-27">changed status of <a href="http://www.w3.org/TR/html5/"><q>HTML5</q></a> from REC to SPSD</entry>
<entry date="2018-03-22">changed status of <a href="http://www.w3.org/TR/ambient-light/"><q>Ambient Light Sensor</q></a>, <a href="http://www.w3.org/TR/magnetometer/"><q>Magnetometer</q></a>, <a href="http://www.w3.org/TR/accelerometer/"><q>Accelerometer Sensor</q></a>, <a href="http://www.w3.org/TR/gyroscope/"><q>Gyroscope Sensor</q></a>, <a href="http://www.w3.org/TR/orientation-sensor/"><q>Orientation Sensor</q></a>, and <a href="http://www.w3.org/TR/generic-sensor/"><q>Generic Sensor API</q></a> from WD to CR</entry>
<entry date="2018-02-02">changed status of <a href="http://www.w3.org/TR/html-media-capture/"><q>HTML Media Capture</q></a> from PR to REC</entry>
<entry date="2018-01-30">changed status of <a href="http://www.w3.org/TR/IndexedDB-2/"><q>Indexed Database API 2.0</q></a> from PR to REC</entry>
<entry date="2017-12-14">changed status of <a href="http://www.w3.org/TR/html52/"><q>HTML 5.2</q></a> from PR to REC; added <a href="http://www.w3.org/TR/html53/"><q>HTML 5.3</q></a>; changed status of <a href="http://www.w3.org/TR/wake-lock/"><q>Wake Lock API</q></a> from WD to CR</entry>
<entry date="2017-12-12">changed status of <a href="http://www.w3.org/TR/webpayments-http-api/"><q>Web Payments HTTP API 1.0</q></a> from WD to NOTE; added <a href="http://www.w3.org/TR/payment-method-manifest/"><q>Payment Method Manifest</q></a></entry>
<entry date="2017-12-02">updated abstract of <a href="http://www.w3.org/TR/clear-site-data/"><q>Clear Site Data</q></a></entry>
<entry date="2017-11-29">changed status of <a href="http://www.w3.org/TR/html-media-capture/"><q>HTML Media Capture</q></a> from CR to PR</entry>
<entry date="2017-11-16">changed status of <a href="http://www.w3.org/TR/IndexedDB-2/"><q>Indexed Database API 2.0</q></a> from CR to PR</entry>
<entry date="2017-11-02">changed status of <a href="http://www.w3.org/TR/html52/"><q>HTML 5.2</q></a> from CR to PR; changed status of <a href="http://www.w3.org/TR/webrtc/"><q>WebRTC 1.0: Real-time Communication Between Browsers</q></a> from WD to CR</entry>
<entry date="2017-10-28">changed status of <a href="http://www.w3.org/TR/preload/"><q>Preload</q></a> from WD to CR</entry>
<entry date="2017-10-19">changed status of <a href="http://www.w3.org/TR/remote-playback/"><q>Remote Playback API</q></a> from WD to CR</entry>
<entry date="2017-10-13">added <a href="http://www.w3.org/TR/vehicle-information-api/"><q>Vehicle Information API Specification</q></a></entry>
<entry date="2017-10-10">changed status of <a href="http://www.w3.org/TR/requestidlecallback/"><q>Cooperative Scheduling of Background Tasks</q></a> from CR to PR</entry>
<entry date="2017-10-09">updated abstract of <a href="http://www.w3.org/TR/microdata/"><q>HTML Microdata</q></a></entry>
<entry date="2017-10-03">changed status of <a href="http://www.w3.org/TR/audio-output/"><q>Audio Output Devices API</q></a> from WD to CR</entry>
<entry date="2017-09-26">updated title and abstract of <a href="http://www.w3.org/TR/permissions/"><q>Permissions</q></a></entry>
<entry date="2017-09-18">changed status of <a href="http://www.w3.org/TR/encrypted-media/"><q>Encrypted Media Extensions</q></a> from PR to REC</entry>
<entry date="2017-09-14">changed status of <a href="http://www.w3.org/TR/payment-request/"><q>Payment Request API</q></a> and <a href="http://www.w3.org/TR/payment-method-id/"><q>Payment Method Identifiers</q></a>; added <a href="http://www.w3.org/TR/intersection-observer/"><q>Intersection Observer</q></a></entry>
<entry date="2017-09-08">added <a href="http://www.w3.org/TR/paint-timing/"><q>Paint Timing 1</q></a> and <a href="http://www.w3.org/TR/longtasks-1/"><q>Long Tasks API 1</q></a></entry>
<entry date="2017-08-26">added <a href="http://www.w3.org/TR/motion-sensors/"><q>Motion Sensors Explainer</q></a></entry>
<entry date="2017-08-10">changed status of <a href="http://www.w3.org/TR/IndexedDB-2/"><q>Indexed Database API 2.0</q></a> and <a href="http://www.w3.org/TR/html52/"><q>HTML 5.2</q></a> from WD to CR</entry>
<entry date="2017-08-03">changed status of <a href="http://www.w3.org/TR/hr-time-3/"><q>High Resolution Time Level 3</q></a> from WD to NOTE</entry>
<entry date="2017-07-13">changed status of <a href="http://www.w3.org/TR/server-timing/"><q>Server Timing</q></a> from NOTE to WD</entry>
<entry date="2017-07-06">added <a href="http://www.w3.org/TR/geolocation-API-v2/"><q>Geolocation API Specification Level 2</q></a></entry>
<entry date="2017-06-29">changed status of <a href="http://www.w3.org/TR/microdata/"><q>HTML Microdata</q></a> from NOTE to WD</entry>
<entry date="2017-06-20">changed status of <a href="http://www.w3.org/TR/findtext/"><q>FindText API</q></a> from WD to NOTE</entry>
<entry date="2017-06-01">changed status of <a href="http://www.w3.org/TR/uievents-code/"><q>UI Events KeyboardEvent code Values</q></a> and <a href="http://www.w3.org/TR/uievents-key/"><q>UI Events KeyboardEvent key Values</q></a> from WD to CR</entry>
<entry date="2017-05-30">changed status of <a href="http://www.w3.org/TR/orientation-event/"><q>DeviceOrientation Event Specification</q></a> from CR to NOTE; changed status of <a href="http://www.w3.org/TR/geofencing/"><q>Geofencing API</q></a> from WD to NOTE</entry>
<entry date="2017-05-23">changed status of <a href="http://www.w3.org/TR/micropub/"><q>Micropub</q></a> from PR to REC</entry>
<entry date="2017-05-18">added <a href="http://www.w3.org/TR/payment-handler/"><q>Payment Handler API</q></a>; changed status of <a href="http://www.w3.org/TR/tvcontrol-api/"><q>TV Control API Specification</q></a> from WD to NOTE</entry>
<entry date="2017-05-12">added <a href="http://www.w3.org/TR/orientation-sensor/"><q>Orientation Sensor</q></a></entry>
<entry date="2017-04-21">added <a href="http://www.w3.org/TR/dom41/"><q>W3C DOM 4.1</q></a></entry>
<entry date="2017-04-14">changed status of <a href="http://www.w3.org/TR/beacon/"><q>Beacon</q></a> from WD to CR</entry>
<entry date="2017-04-13">changed status of <a href="http://www.w3.org/TR/micropub/"><q>Micropub</q></a> from CR to PR</entry>
<entry date="2017-03-31">changed status of <a href="http://www.w3.org/TR/webdriver/"><q>WebDriver</q></a> from WD to CR</entry>
<entry date="2017-03-21">added <a href="http://www.w3.org/TR/input-events-2/"><q>Input Events Level 2</q></a></entry>
<rename date="2017-03-20">
<old id="input-events" title="Input Events"/>
<new id="input-events-1" title="Input Events Level 1"/>
</rename>
<entry date="2017-03-16">changed status of <a href="http://www.w3.org/TR/encrypted-media/"><q>Encrypted Media Extensions</q></a> from CR to PR</entry>
<entry date="2017-01-31">changed status of <a href="http://www.w3.org/TR/requestidlecallback/"><q>Cooperative Scheduling of Background Tasks</q></a> from WD to CR</entry>
<entry date="2017-01-26">changed status of <a href="http://www.w3.org/TR/referrer-policy/"><q>Referrer Policy</q></a> from WD to CR; changed status of <a href="http://www.w3.org/TR/WebCryptoAPI/"><q>Web Cryptography API</q></a> from PR to REC</entry>
<entry date="2017-01-12">changed status of <a href="http://www.w3.org/TR/webmention/"><q>Webmention</q></a> from PR to REC; changed status of <a href="http://www.w3.org/TR/discovery-api/"><q>Network Service Discovery</q></a> from WD to NOTE</entry>
<entry date="2016-12-15">changed status of <a href="http://www.w3.org/TR/WebCryptoAPI/"><q>Web Cryptography API</q></a> from CR to PR; changed status of <a href="http://www.w3.org/TR/CSP2/"><q>Content Security Policy Level 2</q></a> from PR to REC</entry>
<entry date="2016-12-08">changed status of <a href="http://www.w3.org/TR/performance-timeline-2/"><q>Performance Timeline Level 2</q></a> from WD to CR</entry>
<entry date="2016-12-06">changed status of <a href="http://www.w3.org/TR/url-1/"><q>URL</q></a> from WD to NOTE</entry>
<entry date="2016-11-30">changed status of <a href="http://www.w3.org/TR/streams-api/"><q>Streams API</q></a> from WD to NOTE</entry>
<entry date="2016-11-22">added <a href="http://www.w3.org/TR/pointerlock-2/"><q>Pointer Lock 2.0</q></a>; changed status of <a href="http://www.w3.org/TR/page-visibility-2/"><q>Page Visibility 2</q></a> from WD to CR</entry>
<entry date="2016-11-17">changed status of <a href="http://www.w3.org/TR/media-source/"><q>Media Source Extensions</q></a> from PR to REC</entry>
<entry date="2016-11-16">added <a href="https://infra.spec.whatwg.org/"><q>Infra</q></a></entry>
<entry date="2016-11-09">changed status of <a href="http://www.w3.org/TR/CSP2/"><q>Content Security Policy Level 2</q></a> from CR to PR</entry>
<entry date="2016-11-03">added <a href="http://www.w3.org/TR/resource-timing-2/"><q>Resource Timing Level 2</q></a></entry>
<entry date="2016-11-02">added <a href="http://www.w3.org/TR/user-timing-2/"><q>User Timing Level 2</q></a></entry>
<entry date="2016-11-01">changed status of <a href="http://www.w3.org/TR/html51/"><q>HTML 5.1</q></a> from PR to REC; changed status of <a href="http://www.w3.org/TR/hr-time-2/"><q>High Resolution Time Level 2</q></a> from WD to CR; changed status of <a href="http://www.w3.org/TR/webmention/"><q>Webmention</q></a> from CR to PR</entry>
<entry date="2016-10-31">added <a href="http://www.w3.org/TR/hr-time-3/"><q>High Resolution Time Level 3</q></a></entry>
<entry date="2016-10-28">added <a href="http://www.w3.org/TR/wai-aria-1.1/"><q>Accessible Rich Internet Applications (WAI-ARIA) 1.1</q></a></entry>